Skip to content

Latest commit

 

History

History
35 lines (20 loc) · 1.43 KB

README.md

File metadata and controls

35 lines (20 loc) · 1.43 KB

Paxos

Don't use this code. It is not a reliable implementation of the algorithm since it has no mechanism for bootstrapping, leader election, or failover. It is a bare bones implementation of the state machine algorithm described in Leslie Lamport's "Basic Paxos" paper.

Getting started

Then you can get up and running by just running ./bootstrap.sh.

It will start three agents. Each one is a proposer, a learner, and an acceptor.

The agent running on port 8888 is the distinguished proposer and learner.

This implementation is completely ephemeral, so if a node goes down you do not get the full fault tolerance the algorithm would otherwise guarantee.

You can send a bunch of asynchronous requests by calling

python client.py

If you want to send new proposals, you can modify client.py

Known issues

There are three failing tests. I updated a few things at the last minute, and those tests broke. I'm 95% sure this implementation is correct. I'll do another review of it at a later date.

Questions for the next meetup.

Check out these resources for more information: