17.1.3.3 Устойчивость к сбоям
MySQL Group Replication использует реализацию распределенного алгоритма Paxos для обеспечения распределенной координации между серверами. Таким образом, для достижения кворума и принятия решения требуется, чтобы большинство серверов было активными. Это напрямую влияет на количество сбоев, которые система может переносить, не жертвуя работоспособностью и общими функциями. Количество серверов (n), необходимое для переносимости f сбоев, составляет n = 2 x f + 1.
На практике это означает, что для переносимости одного сбоя группа должна содержать три сервера. Таким образом, если один сервер выходит из строя, всё ещё остаются два сервера для формирования большинства (два из трёх), и система может продолжать автоматически принимать решения и прогрессировать. Однако, если выходит из строя второй сервер непреднамеренно, то группа (с одним оставшимся сервером) блокируется, потому что нет большинства для принятия решения.
Ниже приведена небольшая таблица, иллюстрирующая вышеприведённую формулу.
Размер группы | Большинство | Переносимые мгновенные сбои |
|---|---|---|
1 | 1 | 0 |
2 | 2 | 0 |
3 | 2 | 1 |
4 | 3 | 1 |
5 | 3 | 2 |
6 | 4 | 2 |
7 | 4 | 3 |
Следующая глава описывает технические аспекты Group Replication.
© 2025 Oracle
Licensed under the GPLv2 License.