2 ms·
This well-illustrated post is technically about the core Synod agreement protocol in Paxos. Building a consistent distributed service on top requires additional
by emin-gun-sirer 12y ago
This well-illustrated post is technically about the core Synod agreement protocol in Paxos. Building a consistent distributed service on top requires additional scaffolding and infrastructure. Typically, people layer on a system that implements a "replicated state machine (RSM)" on top, which maintains the illusion of a single consistent object, even though it is composed of distributed replicas.
Also keep in mind that Raft, Zab, and View-Stamped replication (in reverse chronological order) are alternatives to the Synod protocol in Paxos. These protocols differ from Paxos by employing a different leader-election mechanism and slightly different way of maintaining their invariants.
There have been many Paxos variants. This site [1] shows the various Paxos variants over a timeline and points out their contributions.
Those of you interested in building replicated state machines using Paxos should take a look at OpenReplica [2]. It is a full Multi-Paxos implementation that takes any Python object and makes it distributed and fault-tolerant, like an RPC package on steroids.
[1] http://paxos.systems/ http://paxos.systems/
[2] http://openreplica.org/faq/ http://openreplica.org/faq/
- ahelwer 12y agoIt looks like you are one of the developers of OpenReplica?
- emin-gun-sirer 12y agoYes, it's an open-source project from my research group at Cornell.