Raft4WS is an implementation of the [Raft distributed consensus protocol] (https://ramcloud.stanford.edu/wiki/download/attachments/11370504/raft.pdf "In Search of an Understandable Consensus Algorithm") on the WS4D JMEDS Framework v2.0 beta10
- 0.1: Initial release. (26 May, 2014)
- 0.1.1: Update build to Java 8. (18 February, 2025)
Raft4WS implements the following features of Raft:
- Leader election
- Log replication
Advanced features, such as log compaction or online cluster reconfiguration, still don't have an implementation timeline.
Follow the instructions on the INSTALL file to build the binary distribution package. It will be located at ./target/raft4ws-0.1-bin.zip. Extract the contents of the zip file and follow the following instructions to execute a Raft server or client.
- To run a Raft server:
$ ./bin/server <server_id> <min_timeout(ms)> <max_timeout(ms)>
- To run a Raft client:
$ ./bin/client