Distributed Systems ⓘ
NUS CS5223 Distributed Systems Lab.
Solutions run on the backend and are not made publicly available.
Important concepts to understand (why it matters, what useful properties):
- Exactly-Once
- Idempotency
- Monotonicity
- Linearizability
- Consensus
- Quorum
Important protocols to design, implement, and optimize for (latency, throughput, fairness):
- Asynchronous Replication
- Synchronous Failover
- Leader Election
- Multi-Paxos
- Shard Reconfigurations
- Two-Phase Commit
Part II of the book "Designing Data-Intensive Applications" can provide a starting foundation.