The name of MPaxos refers to two things.
- MPaxos is an extentional protocol based on Lamport's Paxos.
- MPaxos is an RSM (Replication State Machine) framework based on the protocol. This is what you see in this repository.
MPaxos is used for build for highly reliable distributed services.
- You can use MPaxos to build a standard Paxos-based RSM, which can tolerate any minority of fail-stops failures.
- It is also easy to use MPaxos to build independent RSMs running in Parallel. And more importantly, MPaxos supports transactional commits to these RSMs. This is our extentional part to original Paxos.
MPaxos provides a simple Write-Ahead-Log (WAL) and callback interface. To build a reliable application, you only need to abstract the operations of application into logs, commit it using MPaxos. After successful a commit, MPaxos will invoke a callback function (on every node), with the committed log as a parameter.
Please follow this simple getting started guide on the project's website. It is also available in the ./doc directory of the source repo.