Week 10: Eventual Consistency
Learning Objectives
- Explain the need for read-your-writes consistency
- Be able to select tunable consitency settings to meet use case needs
- Explain the role of version vectors and logical clocks in conflict resolution
Mandatory Lecture Materials
Slides are on Canvas.
Video lessons for the materials are here
Mandatory Reading
- Chapter 11 of course book
- Chapter 9, Designing Data-Intensive Applications, Martin Kleppmann, O’Reilly Publishing (available online at Snell library)
Optional Reading
- Chapter 7, Designing Data-Intensive Applications, Martin Kleppmann, O’Reilly Publishing (available online at Snell library)
- Raft versus Paxos from MIT Lecture Series
- Raft Features in MongoDB
Labs
Class Exercises:
Work through the Raft explanation here and make sure you understand how the protocol works.
Install Redis on EC2. The Quickstart is here.
More install instructions on AWS Linux are here or if Medium access is painful here.
Choose and test a Redis Java client from here. Jedis is popular,
Back to Course Home Page