10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载 本手册摘录

18.1.5组复制插件架构

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

图18.6组复制插件框图

图后的文字描述了图的内容。

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

Group Replication插件体系结构的下一层是一组组件,当通知被路由到它们时,它们会做出反应。捕获组件负责跟踪与正在执行的事务相关的上下文。应用程序组件负责在数据库上执行远程事务。恢复组件管理分布式恢复,并负责通过选择捐助者、管理赶上过程和对捐助者失败作出反应来获取正在加入组的服务器的最新信息。

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

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