-
Notifications
You must be signed in to change notification settings - Fork 0
Michael-Dratch/RAFT_Implementation
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
README
Michael Dratch
RAFT IMPLEMENTATION
5/17/23
Project Description:
This project is an implementation of the RAFT consensus protocol using the Akka actors framework.The main program simulates client requests to the consensus
group in order to observe how to the system responds to requests and to server failures.
Instructions:
The program takes 4 command line arguments:
server count: the size of the Raft group the program will create
client count: the number of clients that will make requests to the group
concurrentFailures: how many servers the the program will make fail at once
this can be between zero and n/2 - 1. One client will send fail messages
that make this number of servers fail every 5 requests sent. The frequency
is hardcoded to failures every 5 requests to avoid excessive program arguments.
numClientRequests: the number of requests each client will make to the Raft Group
requests are sent to random servers and clients stop making requests
after they have reached this number. This can be increased to see the
system run over a longer period of time.
These arguments allow you to run the program with different load and failure characteristics.
When the program starts the Servers and Clients are spawned. The clients start sending requests to random servers in
the group. The servers log these events:
-When servers time out and start elections
-When servers receive votes
-When servers get elected as leader
-When servers receive client requests
-when servers forward requests to the leader
-The leader logs when an entry is committed
-Clients log when they receive responses to their requests
Clients will log when they have received responses to all of their requests and activity will stop
Pressing enter will shut down the actor system and end the program.
About
Implementation of the RAFT consensus protocol using AKKA actors
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published