/paxos

A basic implementation of Paxos for reaching consensus with an arbitrary number of Proposers/Acceptors/Learners

Primary LanguageJava

Paxos

A basic implementation of Paxos for reaching consensus with an arbitrary number of Proposers/Acceptors/Learners.

Implementation

Paxos is known for being hard to implement. It depends. The basic idea from Lamport's paper can be expressed quite elegantly with an Actor based implementation. We use Akka here. In a production system, the challenge is to scale Paxos, e.g. by avoiding the repeated leader election phase in the prepare phase.

Build

gradle build - builds and runs tests