A distributed system is several computers pretending to be one — over a network that drops messages, clocks that lie, and machines that die mid-sentence. This course is the field's core ideas as things you can operate: lose the messenger, skew the clocks, crash the coordinator, melt a service with your own retries, and learn exactly which guarantees survive.
Prove the Two Generals problem to yourself by losing messengers, then face the question that defines the field: your payment request timed out — was it processed? Retry naively and double-charge a customer; fix it with idempotency.
Skew two server clocks and watch a reply get timestamped before the message it answers. Then build the fixes by hand: Lamport clocks for order, vector clocks for detecting what actually happened concurrently.
One machine can't hold everything. Shard with mod-N and watch adding one node reshuffle nearly every key; switch to consistent hashing and move almost none. Then create a celebrity hotspot and fix it with key salting.
Run two-phase commit's happy path, then crash the coordinator at the worst instant and meet the in-doubt participant holding locks nobody can release. Then trade atomicity for availability with a saga — and watch its compensations leak.
Play referee: given a history of reads and writes, is it linearizable? Then take a live partition and make the CAP choice yourself — reject writes or accept divergence — and see why the real trade-off (PACELC) is paid even on sunny days.
Slow one dependency and watch well-meaning retries triple the load and melt it — a self-inflicted outage. Then install the defenses: jittered backoff, a circuit breaker you operate through its three states, and load shedding.
This course pairs with the Database Replication course: replication architectures, quorums, and Raft consensus live there and are referenced here rather than repeated. The two together cover most of what "distributed systems" means in practice — this one supplies the network, time, partitioning, transaction, and resilience layers.