20.7.2 Управление потоком
MySQL Group Replication гарантирует, что транзакция завершается только после того, как большинство членов группы ее получили и согласовали относительный порядок между всеми транзакциями, отправленными одновременно. Этот подход хорошо работает, если общее количество записей в группе не превышает пропускную способность записи любого члена группы. Если это происходит, и у некоторых членов пропускная способность записи ниже, чем у других, особенно ниже, чем у записывающих членов, эти члены могут отставать от записывающих.
Когда некоторые члены отстают от остальной части группы, чтение на таких членах может отображать очень старые данные. В зависимости от причины отставания члена, другие члены группы могут сохранить больше или меньше контекста репликации, чтобы иметь возможность выполнить потенциальные запросы передачи данных от медленного члена.
Протокол репликации предоставляет механизм для предотвращения слишком большого разрыва в примененных транзакциях между быстрыми и медленными членами. Это известно как механизм управления потоком, который имеет следующие цели:
Поддерживать членов близко, чтобы минимизировать буферизацию и десинхронизацию между ними
Быстро адаптироваться к изменяющимся условиям, таким как разные рабочие нагрузки или больше записывающих членов в группе
Наделить каждого члена долей доступной пропускной способности записи
Не уменьшать пропускную способность больше, чем строго необходимо, чтобы избежать потерь ресурсов
Учитывая дизайн Group Replication, решение о том, удушать или нет, может быть принято с учетом двух рабочих очередей: очереди сертификации и очереди применения двоичного журнала. Всякий раз, когда размер одной из этих очередей превышает заданный пользователем порог, срабатывает механизм удушения.
Управление потоком зависит от двух основных механизмов:
Мониторинг членов для сбора статистики о пропускной способности и размерах очередей всех членов группы, чтобы сделать обоснованные предположения относительно максимального давления записи, которому должен подвергаться каждый член
Удушение членов, которые пытаются записать сверх своих выделенных долей доступной пропускной способности в каждый момент времени
Компонент статистики управления потоком Group Replication, доступный в составе MySQL Enterprise Edition, поддерживает переменные состояния, предоставляющие информацию о выполнении управления потоком Group Replication. Подробности см. в разделе 7.5.7 «Компонент статистики управления потоком Group Replication».
© 2025 Oracle
Licensed under the GPLv2 License.