A fundamental problem in distributed computing is to achieve overall system reliability in the presence of a number of faulty processes. This often requires processes to agree on some data value that is needed during computation. Examples of applications of consensus include whether to commit a transaction to a database, agreeing on the identity of a leader, state machine replication, and atomic broadcasts. wiki
- https://github.com/ClusterLabs/booth/blob/master/docs/boothd.8.txt
- https://github.com/goraft/raft