Skip to content

My collection of handwritten notes and resources for learning distributed systems

License

Notifications You must be signed in to change notification settings

Michael-Preibisch/distributed_systems_notes

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Distributed Systems Notes

Currently a work in progress!!

This is my personal collection of links and notes taken while trying to learn about distributed systems.

The structure of these notes is a various mix of paraphrasing/outlines/copying from the resources listed below, depending on what I felt helped me learn the material the best.

In each folder you'll find the PDF notes, a README giving an outline of the included topics, and individual JPG images for each page.

Table of Contents


Resources

Textbooks

Courses

Academic Papers Hubs

Other Resources

Tutorials

Introductory Articles


Storage, Networking, and Concurrency

Encoding

B-Trees

Networking

I/O Handling
K8s Networking

Communication Protocols

Multicast
Gossip Protocols
Gossip Usage

Concurrency

Synchrony vs. Asynchrony
Scala Futures/Promises
Akka Library

Distributed Systems

Design

Coordination

Synchronization
Clock and Logical Ordering
Leader Election
Cluster Membership

Replication

Consensus

Raft
Paxos

Consistency

Serializability and Transactional Consistency
Linearizability and Replica Consistency

Distributed Storage

File Systems
Relational
Hash Tables
Dynamo-style (NoSQL)
Caches

Microservices

Design
Event Sourcing

About

My collection of handwritten notes and resources for learning distributed systems

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published