1.Fundamentals & Topics
Distributed Systems · 15 notes
- 1.1 Distributed Systemshistorical
An overview of why distributed systems are needed and how replication, partitioning, consistency, transactions, communication, and common distributed components fit together.
- 1.2 How to Implement Distributed Lockshistorical
Requirements and failure cases for locks across processes or machines, with Redis- and ZooKeeper-style approaches and the importance of ownership and fencing.
- 1.3 How to Generate Distributed IDshistorical
Design goals and trade-offs for globally unique IDs using database sequences, UUIDs, Redis counters, and Snowflake-style timestamp/worker/sequence layouts.
- 1.4 How to Implement Distributed Sessionshistorical
Why process-local sessions break under horizontal scaling and how replication, shared session stores, and centralized authentication address the problem.
- 1.5 How Distributed Storage Workshistorical
The core building blocks of distributed storage: partitioning, replication, consistency, metadata, routing, and failure recovery.
- 1.6 BASEhistorical
BASE as an availability-oriented distributed-systems design idea: basic availability, soft state, eventual consistency, and its relationship to flexible transactions.
- 1.7 CAPhistorical
The CAP theorem: consistency, availability, partition tolerance, and the C/A trade-off a distributed system faces when a network partition occurs.
- 1.8 Cluster Metadata Managementhistorical
What cluster metadata represents, why routing and ownership depend on it, and centralized versus peer-to-peer metadata management.
- 1.9 Distributed Consistencyhistorical
Why replicated distributed systems face consistency problems, how consistency models define observable guarantees, and how consensus algorithms help nodes agree on state.
- 1.10 Distributed Computinghistorical
A compact introduction to distributing computation across machines, with batch and stream processing as two common execution models.
- 1.11 Distributed-System Communicationhistorical
Synchronous and asynchronous service communication, RPC versus resource-oriented HTTP APIs, API compatibility, and message encoding choices.
- 1.12 Stateful and Stateless Serviceshistorical
How state placement changes routing, scalability, recovery, and storage dependencies in distributed services.
- 1.13 Distributed-System Upgrades and Rollbackshistorical
Deployment strategies for multi-instance services: downtime, blue-green, rolling, canary rollout, A/B testing, and practical rollback mechanisms.
- 1.14 Distributed-System Failureshistorical
Failure detection and common resilience behaviors including failover, fail-fast, fail-safe, fail-silent, failback, hedged/forked calls, and broadcast calls.
- 1.15 Inter-Node Communicationhistorical
How distributed nodes exchange cluster metadata and the trade-offs between centralized coordination and peer-to-peer dissemination.