Spec-Zone.ru › MySQL 5.7

16.3.9.1 Управляющий интерфейс полусинхронной репликации

Управляющий интерфейс полусинхронной репликации состоит из нескольких компонентов:

  • Две плагины реализуют полусинхронную функциональность. Одна плагина предназначена для источника, другая — для реплики.

  • Поведение плагинов контролируется системными переменными. Примеры:

    • rpl_semi_sync_master_enabled

      Управляет включением полусинхронной репликации на источнике. Для включения или выключения плагина установите эту переменную соответственно в 1 или 0. По умолчанию значение 0 (выключено).

    • rpl_semi_sync_master_timeout

      Значение в миллисекундах, определяющее время ожидания источника подтверждения от реплики перед переключением на асинхронную репликацию. Значение по умолчанию — 10000 (10 секунд).

    • rpl_semi_sync_slave_enabled

      Аналогично rpl_semi_sync_master_enabled, но управляет плагином реплики.

    Все rpl_semi_sync_xxx системные переменные описаны в разделе 16.1.6.2 «Параметры и переменные источника репликации» и разделе 16.1.6.3 «Параметры и переменные сервера-реплики».

  • Начиная с MySQL 5.7.33, вы можете повысить производительность полусинхронной репликации, включив системные переменные replication_sender_observe_commit_only, которые ограничивают обратные вызовы, и replication_optimize_for_static_plugin_config, которые добавляют общие блокировки и избегают ненужных блокировок. Эти настройки помогают при увеличении количества реплик, так как конкуренция за блокировки может снизить производительность. Серверы-источники полусинхронной репликации также могут получить выгоду от включения этих системных переменных, поскольку они используют те же механизмы блокировки, что и реплики.

  • Переменные состояния позволяют отслеживать полусинхронную репликацию. Примеры:

    • Rpl_semi_sync_master_clients

      Количество полусинхронных реплик.

    • Rpl_semi_sync_master_status

      Указывает, работает ли полусинхронная репликация на источнике в данный момент. Значение 1, если плагин включен и подтверждение операции записи ещё не получено. Значение 0, если плагин не включен или источник перешёл на асинхронную репликацию из-за истечения времени ожидания подтверждения.

    • Rpl_semi_sync_master_no_tx

      Количество операций записи, которые не были успешно подтверждены репликой.

    • Rpl_semi_sync_master_yes_tx

      Количество операций записи, которые были успешно подтверждены репликой.

    • Rpl_semi_sync_slave_status

      Указывает, работает ли полусинхронная репликация на реплике в данный момент. Это 1, если плагин включен и поток ввода/вывода репликации работает, 0 в противном случае.

    Все Rpl_semi_sync_xxx переменные состояния описаны в разделе 5.1.9 «Переменные состояния сервера».

Системные и переменные состояния доступны только в том случае, если соответствующий плагин источника или реплики был установлен с помощью INSTALL PLUGIN.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/replication-semisync-interface.html

Spec-Zone.ru

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