The multi-master configuration

In a multi-master configuration, we still spin up multiple master node instances. However, as the name implies, there isn't really a designated leader for the cluster. In a multi-master cluster, we don't need to provide a mechanism for workers to figure out which node is the leader; they can freely connect to any of the master nodes.

While this type of configuration has much better throughput characteristics than the equivalent leader-follower configuration, it comes with an important caveat, that is, all master nodes must share the same view of the cluster's state at all times.

Consequently, masters are required to implement some kind of distributed consensus algorithm such as Paxos [3] or Raft [5] to ensure that mutations to the cluster's state are processed by all masters in the same order.