文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 参考手册  /  ...  /  集群复制插件架构

20.1.5 集群复制插件架构

MySQL 集群复制是一个 MySQL 插件,它建立在现有的 MySQL 复制基础设施之上,利用二进制日志、基于行的日志记录和全局事务标识符等功能。它与当前的 MySQL 框架集成,例如性能模式或插件和服务基础设施。下图展示了 MySQL 集群复制的整体架构的框图。

图 20.6 集群复制插件框图

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

MySQL 集群复制插件包含一组用于捕获、应用和生命周期的 API,它们控制插件如何与 MySQL 服务器交互。存在接口,使信息从服务器流向插件,反之亦然。这些接口将 MySQL 服务器核心与集群复制插件隔离,并且主要是放置在事务执行管道中的钩子。在一个方向上,从服务器到插件,有关于事件的通知,例如服务器启动、服务器恢复、服务器准备好接受连接以及服务器即将提交事务。在另一个方向上,插件指示服务器执行操作,例如提交或中止正在进行的事务,或者将事务排队到中继日志中。

集群复制插件架构的下一层是一组组件,当通知被路由到它们时,它们会做出反应。捕获组件负责跟踪与正在执行的事务相关的上下文。应用组件负责在数据库上执行远程事务。恢复组件管理分布式恢复,负责通过选择捐赠者、管理追赶过程并对捐赠者故障做出反应,让加入群组的服务器更新到最新状态。

继续向下,复制协议模块包含复制协议的特定逻辑。它处理冲突检测,并接收和传播事务到群组。

集群复制插件架构的最后两层是群组通信系统 (GCS) API 和 Paxos 基于群组通信引擎 (XCom) 的实现。GCS API 是一个高级 API,它抽象了构建复制状态机所需的属性(见 第 20.1 节,“集群复制背景”)。因此,它将消息传递层的实现与插件的其余上层分离。群组通信引擎处理与复制群组成员的通信。