Ra: a Raft implementation
summary
An open source Ra library implements Raft on the BEAM to give RabbitMQ persistent, replicated state machines with leader election, quorum commits and dynamic membership; it runs thousands of tiny Raft servers by using a central write-ahead log to avoid per-service fsync contention, snapshots and leader-only side-effect execution, and an adaptive Aten failure detector for partitions. A quorum-backed “quorum queue” feature targets RabbitMQ 3.8, the implementation passes Jepsen-style tests and the demo shows replication, failover and reconfiguration working end-to-end.
AI-written summary · about
chapters (11)
- 0:00Start
- 2:27gen servers
- 7:42Raft Resources
- 27:37Async API (the not so simple API)
- 29:32Ra Machine Effects
- 31:40Why write our own?
- 33:13How did we end up where we are today?
- 34:19Centralization
- 34:30Log infrastructure
- 36:22Fault detection
- 39:00Jepsen
related talks
55mImplementing Raft in RabbitMQ
37mImplementing Raft in RabbitMQ
41mThe Raft Consensus Algorithm
21mApache Ratis - A High Performance Raft Library
47mDistributed Systems: When Democracy and Computer Science Come Together
47mUnderstanding Raft Consensus
51mKeynote: Quorum Queues: A Retrospective
44mCluster Consensus: When Aeron Met Raft
