Thanks to visit codestin.com
Credit goes to github.com

Skip to content

miketehranian/paxos.go

Repository files navigation

Simple example of Paxos written in go

Nomenclature used in Paxos: Replicas - Processes

Each process below is its own DSM

Replicas receive requests from clients and asks leaders to serialize the requests so all replicas have the same sequence. Replicas also respond to clients. Applies the serialized sequence determined by the leader to the shared data.

Acceptor stores the fault tolerant memory for the acceptor.

Leaders serialize requests sent to the replicas.

Replicas has a sequence of slots that are indexed. When a request comes in it is called a proposal. The synod protocol is used to determine the single command to use for each slot, and awaits the decision from the leaders and acceptors before sending a response back to the client.

Ballots are handled by only one leader at a time. One ballot can handle multiple slots, but they are not slots.

Leaders send message to accepters; leaders are clients and acceptors are servers.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages