Skip to content

Instantly share code, notes, and snippets.

@bmizerany
Created May 25, 2011 06:47
Show Gist options
  • Save bmizerany/990470 to your computer and use it in GitHub Desktop.
Save bmizerany/990470 to your computer and use it in GitHub Desktop.

Clustering Doozer

Overview

A Doozer cluster is one or more doozerd processes interconnected with one another, where all the participants are performing consensus. Each member of a cluster is referred to as a cal. CAL stands for "Coordinator, Acceptor, and Learner" as defined by Paxos.

CALs can propose changes to the state of the system (or mutations) through consensus, vote for their proposals and/or others, and learn winning proposals. For more information about this, see [Consensus][].

A doozerd process attached to a cluster that is not participating in consensus is a slave. Slaves can only learn winning proposals and update their state accordingly. Meanwhile, they are watching for an available cal slot to become available. In the event of a cal slot becoming available, slaves will attempt to lock the right to take over that responsibility.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment