Spec-Zone.ru › MySQL 9.2

20.7.7.2 Время ожидания недоступной большей части

По умолчанию, узлы, оказавшиеся в меньшинстве из-за сетевого разделения, не покидают группу автоматически. Вы можете использовать системную переменную group_replication_unreachable_majority_timeout, чтобы задать количество секунд, которые узел будет ждать после потери связи с большинством узлов группы, а затем покинет группу. Установка таймаута означает, что вам не нужно активно отслеживать серверы, оказавшиеся в группе меньшинства после сетевого разделения, и вы можете избежать возможности создания ситуации раздвоения мозга (с двумя версиями членства в группе) из-за ненадлежащего вмешательства.

По истечении таймаута, заданного переменной group_replication_unreachable_majority_timeout, все ожидающие транзакции, которые были обработаны узлом и другими узлами в группе меньшинства, отменяются, и серверы в этой группе переходят в состояние ERROR. Вы можете использовать системную переменную group_replication_autorejoin_tries, чтобы заставить узел автоматически попытаться повторно присоединиться к группе в этот момент. Эта функция активна по умолчанию; узел выполняет три попытки автоматического повторного присоединения. Если процедура автоматического повторного присоединения не удается или не предпринимается, узел меньшинства следует процедуре выхода, определённой переменной group_replication_exit_state_action.

Рассмотрите следующие моменты при принятии решения о том, устанавливать ли таймаут недоступной большей части:

  • В симметричной группе, например, группе из двух или четырёх серверов, если обе части содержат равное количество серверов, обе группы считают себя в меньшинстве и переходят в состояние ERROR. В этой ситуации группа не имеет функционального разделения.

  • Пока группа меньшинства существует, все транзакции, обработанные группой меньшинства, принимаются, но блокируются, поскольку серверы меньшинства не могут достичь кворума, до тех пор, пока либо команда STOP GROUP_REPLICATION не будет выполнена на этих серверах, либо не будет достигнут таймаут недоступной большей части.

  • Если вы не установите таймаут недоступной большей части, серверы в группе меньшинства никогда не перейдут в состояние ERROR автоматически, и вам необходимо остановить их вручную.

  • Установка таймаута недоступной большей части не оказывает никакого влияния, если она установлена на серверах в группе меньшинства после обнаружения потери большинства.

Если вы не используете системную переменную group_replication_unreachable_majority_timeout, процесс вмешательства оператора в случае сетевого разделения описан в разделе 20.7.8, «Обработка сетевого разделения и потери кворума». Процесс включает проверку работоспособности серверов и принудительное обновление членства в группе при необходимости.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/group-replication-responses-failure-partition.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API