The Trouble With Distributed Systems
Unreliable networks, unreliable clocks and partial failure. Lesson 10 of Level 8: Data-Intensive Systems. Based on DDIA.
Level 8 · Data-Intensive Systems · Lesson 10 of 15
Unreliable networks, unreliable clocks and partial failure.
Continue learning
- Lost Updates: Optimistic vs Pessimistic Locking — Previous lesson
- Consistency Models, CAP & Consensus — Next lesson
- Level 8: Data-Intensive Systems — Back to the level
Try it hands-on
- Distributed Transaction: Two-Phase Commit — Coordinate Order, Payment and Inventory with 2PC; crash participants or the coordinator at each phase.
All lessons in Data Systems
- Storage Engines: B-Trees vs LSM-Trees
- Indexes: Fast Reads, Slower Writes
- Caching: Speed at the Cost of Truth
- Replication: Leaders, Followers & Failover
- Replication Lag: When Your Own Write Disappears
- Partitioning: Hash, Range, Hotspots & Rebalancing
- Transactions & What ACID Actually Promises
- Isolation Levels: Dirty Reads to Serializable
- Lost Updates: Optimistic vs Pessimistic Locking
- The Trouble With Distributed Systems
- Consistency Models, CAP & Consensus
- Logs & Kafka: Partitions, Offsets and Ordering
- Consumer Groups & Delivery Semantics
- Batch vs Stream Processing & Data Pipelines
- Event Sourcing & CQRS