⚠️ This work is incomplete
A port to Python of the TLA+ specification for the Raft consensus algorithm.
- For Diego Ongaro's TLA+ specification, see github.com/ongardie/raft.tla
- For more on Raft, see raft.github.io
- For more on TLA+, see Hillel Wayne's learning resources at Learn TLA+.
| Term | Description |
|---|---|
| Client | Non-participant that sends data to the leader |
| Leader | Participant that accepts data and sends to followers |
| Followers | Participant that receives data from the leader |
| Log | State machine on each participant |
| Term | Time interval stating with an election and followed by log propagation |
Message flow from client to leader to followers