Raft consensus protocol and implementation in Kotlin
Defines raft node behavior and logic
Implementation of the raft consensus api using spring boot
cd raft-consensus-impl
../gradlew clean build -x test
../gradlew bootRun
Implementation of the raft consensus api using vert.x
Each verticle can be spawned as a raft node
Cluster management is handled by vert.x
git checkout raft-consensus-vertx
cd raft-consensus-vertx-impl
../gradlew clean build -x test
java -jar build/libs/raft-consensus-vertx-impl-1.0-SNAPSHOT-fat.jar -cluster -Dhttp_port=8080
java -jar build/libs/raft-consensus-vertx-impl-1.0-SNAPSHOT-fat.jar -cluster -Dhttp_port=8081
java -jar build/libs/raft-consensus-vertx-impl-1.0-SNAPSHOT-fat.jar -cluster -Dhttp_port=8082
This creates 3 verticles which communicate using the vert.x eventbus.
HTTP services are exposed for convenience.