Designing Data-Intensive Applications - Chapter 5 - Replication
Earlier the book club of our company has studied excellent book:
This is the best book I have read about building complex scalable software systems. 💪
As usually I prepared an overview and mind-map.
Chapter 5:
- Intro. How to scale apps. Replicating and partitioning.
- Three algos of replicating
- Single-leader Replication
- Leaders and Followers
- Sync and async replication
- Adding new Followers
- Handling node outages
- Technical implementations and all potential problems
- Multi-Leader Replication
- Use-cases when it is good
- Handling write conflicts
- Three topologies and potential problems
- Leaderless Replication
- Writing to the database when a node is down
- Quorums and problems with them
- Detecting concurrent writes and how to resolve them
See also:
- Designing Data-Intensive Applications - Chapter 9 - Consistency and Consensus
- Designing Data-Intensive Applications - Chapter 8 - The Trouble with Distributed Systems
- Designing Data-Intensive Applications - Chapter 3 - Storage and Retrieval
- Designing Data-Intensive Applications - Chapter 7 - Transactions
- Designing Data-Intensive Applications - Chapter 6 - Partitioning