CoursesDistributed Reliability

Replication Models

One leader, several leaders or none; the quorum arithmetic that makes a leaderless read see the last write; the conflict two leaders create and the ways to resolve it; and the guarantees a session can be given.

Lessons
6
Exercises
35
Minutes
39

Start One Leader, Several, or None

  1. 1

    One Leader, Several, or None

    After this lesson you can name the three replication models, say what each does with a write that arrives while a node is unreachable, and choose one from the write pattern and the geography.

    Fill blankMultiple choiceTrace
    5 exercises
    6 min
  2. 2

    Quorum Arithmetic

    After this lesson you can choose W and R for N replicas so that a read sees the last write, say what a quorum tolerates, and see where the arithmetic stops short of a guarantee.

    Multiple choiceShort answerTrace
    5 exercises
    6 min
  3. 3

    Two Writers, One Row

    After this lesson you can say when two writes are concurrent rather than ordered, choose between last-write-wins, a merge and a version vector, and know what each one throws away.

    DebugMultiple choiceTrace
    5 exercises
    6 min
  4. 4

    What a Session Can Be Promised

    After this lesson you can name the four session guarantees, say which one each product complaint is asking for, and implement them with a version token instead of routing everything to one node.

    DebugMultiple choiceTrace
    5 exercises
    6 min
  5. 5

    Checkpoint: Replication ModelsCheckpoint

    Models, quorums, conflicts and session promises for a system you have not seen before.

    DebugMultiple choiceShort answerTrace
    7 exercises
    6 min
  6. 6

    Boss: The Multi-Region Profile StoreBoss

    One design carried from the ask to the incident: the question, the estimate, the model, the conflict rule, the region that lost its link, the avatar that reverted, the revised write path, and the tradeoff you have to defend.

    Code orderMultiple choiceShort answerTrace
    8 exercises
    9 min