vive la difference : paxos vs . viewstamped replication vs . zab .
How to Build a Highly Available System Using Consensus