This repository contains an implementation of the Raft consensus algorithm in Go for the MIT 6.5840 Distributed Systems course.
- 3A: Leader Election and Heartbeats
- 3B: Log Replication
- 3C: Persistence
- 3D: Log Compaction with Snapshots
The core Raft implementation is in the raft1/
directory. To run the tests:
go test
To run tests for a specific part (e.g., 3A), you can use the -run
flag:
go test -run 3A