Week 10: Eventual Consistency

CS6650 Building Scalable Distributed Systems

Week 10: Eventual Consistency

Learning Objectives

  1. Explain the need for read-your-writes consistency
  2. Be able to select tunable consitency settings to meet use case needs
  3. 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

  1. Chapter 11 of course book
  2. Chapter 9, Designing Data-Intensive Applications, Martin Kleppmann, O’Reilly Publishing (available online at Snell library)

Optional Reading

  1. Chapter 7, Designing Data-Intensive Applications, Martin Kleppmann, O’Reilly Publishing (available online at Snell library)
  2. Raft versus Paxos from MIT Lecture Series
  3. 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