NIM | Nama |
13522037 | Farhan Nafis Rayhan |
13522071 | Bagas Sambega Rosyada |
13522091 | Raden Francisco Trianto B. |
Raft Consensus Algorithm
Based on this paper: https://raft.github.io/raft.pdf
Consensus protocol/algorithm allows a collection of machine to work as a coherent group that can survive the failure of its members. Used in a distributed system, consesus main idea is to use a voting mechanism to maintain a global data where it needs the majority of vote before changing the global data.
Raft, itself is one of the consesus algorithm to improve Paxos. Improved from Paxos, Raft uses a leader election, log replication, and safety to better increase the effeciency and structure. This protocol configure how each computer in the system always in sync and match their transaction logs and their order.
Project dependencies
-
Docker
-
NodeJS and npm
How to install and use your project
-
Clone the repo
git clone https://github.com/labsister21/tugas-besar-sister-gyatt-belajar.git
-
Change directory
cd tugas-besar-sister-gyatt-belajar
-
Build the program
docker-compose up --build
Run all the servers and clients node at once,
docker compose up -d
and to run a single client, for example one client, find the docker container name using docker ps
, and then use the container name in
docker attach {docker-container-name}