Jepsen: Redis (2013-05-18)

  • Redis provides HA via async primary->secondary replication.
  • 5-node Redis/Sentinel cluster (n1…n5); n1 is the leader.
  • In the event of a {n1,n2} {n3,n4,n5} partition:
    • n1 continues to acknowledge writes because replication is asynchronous.
    • n1 continues to be the leader of the {n1,n2} cluster, while the {n3,n4,n5} cluster elects a new leader.
    • When the partition is resolved, n1 is demoted. All clients writing to it now see READONLY You can't write against a read only slave.. Additionally, all writes made to n1 during the partition are destroyed during the demotion.
  • Redis threw away 56% of acknowledged writes.