Skip to content

akellehe/python-paxos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

About

An implementation of basic paxos in python3

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published