Skip to content

Latest commit

 

History

History
11 lines (6 loc) · 1.54 KB

readme.md

File metadata and controls

11 lines (6 loc) · 1.54 KB

Paxos Containers

This is a custom implementation of the Paxos protocol in Java Spring. See my project presentation for a more in-depth analysis - Paxos Implementation

The purpouse of this project is to serve as an academic tool to simulate the working of the Paxos protocol to reach consensus in a distributed system. Such a system can be simulated by launching multiple instances of this application as Docker containers inside a common Docker network. Currently, the application supports the roles of PROPOSER, ACCEPTOR and LEARNER which can be specific as environment variables or as flags to the Java application itself.

paxos accept stage in docker sdn

A pre-requisite of this simulation is a Paxos Router which needs to be be launched before launching any of the Paxos containers. This virtual router is responsible for maintaining a map of all Paxos containers, their Paxos roles and corresponding IP addresses. Each Paxos container on startup goes through a process similar to the DORA in DHCP in order to register itself as a viable node with the router. An unregistered Paxos node will not be able to send or recieve Paxos messages.

See Paxos Router for implementation of Paxos logic - https://github.com/singaltanmay/paxos-router