6.5840 Lab 3: Raft
This is the first in a series of labs in which you'll build a fault-tolerant key/value storage system. In this lab you'll implement Raft, a replicated state machine protocol. In the next lab you'll build a key/value service on top of Raft. Then you will “shard” your service over multiple replicated state machines for higher performance. A replicated service achieves fault tolerance by storing complete copies of its state (i.e., data) on multiple replica servers. Replication allows the service to continue operating even if some of its servers experience failures (crashes or a broken or flaky network). The challenge is that failures may cause the replicas to hold differing copies of the data. Raft organizes client requests into a sequence, called the log, and ensures that all the replica servers see the same log. Each replica executes client requests in log order, applying them to its local copy of the service's state. Since all the live replicas see the same log contents, they all execu
6.5840 Lab 3: Raft 6.5840 - Spring 2026 6.5840 Lab 3: Raft Collaboration policy // Submit lab // Setup Go // Guidance // Piazza Introduction This is the first in a series of labs in which you'll build a fault-tolerant key/value storage system. In this lab you'll implement Raft, a replicated state machine protocol. In the next lab you'll build a key/value service on top of Raft. Then you will "shard" your service over multiple replicated state machines for higher performance. A replicated service achieves fault tolerance by storing complete copies of its state (i.e., data) on multiple replica s
Explore this link on the map →saved by
related reading
- Students' Guide to Raft :: Jon Gjengsetthesquareplanet.com
- Implementing Raft: Part 3 - Persistence and Optimizations - Eli Bendersky's websiteeli.thegreenplace.net
- 6.5840 Schedule: Spring 2026pdos.csail.mit.edu
- A Distributed Systems Reading Listferd.ca
- Aeron Cluster - The Aeron® Filestheaeronfiles.com
- Raft Consensus Algorithmraft.github.io
- Building a BFT JSON CRDTjzhao.xyz
- Let’s take a crack at understanding distributed consensuspreethikasireddy.com
- How to do distributed locking - Martin Kleppmann's blogmartin.kleppmann.com
- Gossip Protocol Explained - High Scalability -highscalability.com
- DBMS Musings: It’s Time to Move on from Two Phase Commitdbmsmusings.blogspot.com
- A Byzantine failure in the real world | The Cloudflare Blogblog.cloudflare.com