20.1.5 Архитектура плагина Group Replication
MySQL Group Replication — это плагин MySQL, построенный на существующей инфраструктуре репликации MySQL, используя такие функции, как двоичный журнал, журналы строк и идентификаторы глобальных транзакций. Он интегрируется с существующими структурами MySQL, такими как схема производительности или инфраструктуры плагинов и сервисов. На рисунке ниже представлена блок-схема, отображающая общую архитектуру MySQL Group Replication.
Рисунок 20.6 Блок-схема плагина Group Replication
Плагин MySQL Group Replication включает набор API для захвата, применения и жизненного цикла, которые контролируют взаимодействие плагина с сервером MySQL. Существуют интерфейсы для передачи информации от сервера к плагину и наоборот. Эти интерфейсы изолируют ядро сервера MySQL от плагина Group Replication и в основном представляют собой крючки, размещенные в потоке выполнения транзакций. В одном направлении, от сервера к плагину, поступают уведомления о событиях, таких как запуск сервера, восстановление сервера, готовность сервера принимать соединения и предстоящее подтверждение транзакции. В другом направлении плагин указывает серверу выполнить действия, такие как подтверждение или прерывание текущих транзакций или очереди транзакций в журнале репликации.
Следующий уровень архитектуры плагина Group Replication — это набор компонентов, которые реагируют, когда уведомление направляется к ним. Компонент захвата отвечает за отслеживание контекста, связанного с выполняемыми транзакциями. Компонент приложения отвечает за выполнение удаленных транзакций в базе данных. Компонент восстановления управляет распределенным восстановлением и отвечает за обновление сервера, присоединяющегося к группе, путем выбора донора, управления процедурой подтягивания и реакции на сбои донора.
Продолжая вниз по стеку, модуль протокола репликации содержит конкретную логику протокола репликации. Он обрабатывает обнаружение конфликтов и получает и распространяет транзакции в группе.
Два последних уровня архитектуры плагина Group Replication — это API системы групповой связи (GCS) и реализация движка групповой связи на основе Paxos (XCom). API GCS — это API высокого уровня, который абстрагирует свойства, необходимые для создания реплицированной машины состояний (см. Раздел 20.1, «Общие сведения о группе репликации»). Таким образом, он отвязывает реализацию слоя обмена сообщениями от остальных верхних слоев плагина. Движок групповой связи обрабатывает связь с участниками группы репликации.
© 2025 Oracle
Licensed under the GPLv2 License.