The time has come. People keep on asking why there is a practical
limit on the number of nodes in multi-master cluster and what is
it exactly. So here's some no-nonsense hardcore multi-master
math
(hereafter I assume that all nodes in a cluster have the same
processing power and load is distributed uniformly between
them).
Let's denote the total work that a node can do as W, the work that it doing serving local connections as L and the work that it is doing applying replication events from another node as R. While W is constant, L and R are variable and depend on the number of nodes. Clearly R is an unproductive replication overhead which we don't want to have there, but have no choice.
Then for a single server we have W = L.
For a 2-node cluster we have W = L + R.
For a N-node cluster we have W = L + R×(N − 1).
Let's denote ratio R/L as α. This quantity lies between …
[Read more]