Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  Group Replication Plugin Architecture

20.1.5 组复制插件架构

MySQL Group Replication 是一个 MySQL 插件,基于现有的 MySQL 复制基础设施,利用特性如二进制日志、行级别日志记录和全局事务标识符。它与当前的 MySQL 框架集成,如性能 schema 或插件和服务基础结构。以下图表展示了 MySQL Group Replication 的总体架构。

图 20.6 组复制插件块图

The text following the figure describes the content of the diagram.

MySQL Group Replication 插件包括一组 API,用于捕获、应用和生命周期控制,控制插件如何与 MySQL 服务器交互。有接口使信息从服务器流向插件和反方向。这些接口将 MySQL 服务器核心与组复制插件隔离,并主要是事务执行管道中的钩子。在一方面,从服务器到插件,有通知事件,如服务器启动、服务器恢复、服务器准备接受连接和服务器即将提交事务。在另一方面,插件 instruct 服务器执行操作,如提交或中止正在进行的事务,或者在relay日志中队列事务。

组复制插件架构的下一层是反应于通知被路由到的组件。捕获组件负责跟踪与正在执行的事务相关的上下文。应用组件负责在数据库中执行远程事务。恢复组件管理分布式恢复,并负责将要加入组的服务器更新到最新状态,选择捐赠者、管理 catch up 过程和反应于捐赠者失败。

继续向下栈,复制协议模块包含了复制协议的特定逻辑。它处理冲突检测,并将事务传递到组中。

Group Replication 插件架构的最后两个层次是 Group Communication System(GCS)API 和 Paxos-基于群体通信引擎(XCom)的实现。GCS API 是一个高级 API,抽象了构建复制状态机所需的属性(见第20.1节,“Group Replication Background”)。因此,它将消息层次的实现与插件的上层部分分离。群体通信引擎处理与复制组成员的通信。