MySQL Group Replication は、Paxos 分散アルゴリズムの実装に基づいて構築され、サーバー間の分散調整を提供します。 そのため、定足数に到達して決定するには、大部分のサーバーがアクティブである必要があります。 これは、システム自体とその全体的な機能を損なわずに許容できる障害の数に直接影響します。 f
障害を許容するために必要なサーバーの数 (n) は、n = 2 x f + 1
です。
これは、1 つの障害を許容するには、グループに 3 つのサーバーが含まれている必要があることを意味します。 そのため、1 台のサーバで障害が発生した場合でも、大多数のサーバ (3 台のうち 2 台) を形成し、システムが自動的に意思決定を継続して進行できるようにします。 ただし、別のサーバーで involuntarily に障害が発生した場合は、決定に到達する大部分がないため、グループがブロックされます (1 つのサーバーが残っています)。
次のテーブルに、前述の式を示します。
グループサイズ |
過半数 |
許容される即時障害 |
---|---|---|
1 |
1 |
0 |
2 |
2 |
0 |
3 |
2 |
1 |
4 |
3 |
1 |
5 |
3 |
2 |
6 |
4 |
2 |
7 |
4 |
3 |