• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 组复制插件体系结构

    MySQL Group Replication是一个MySQL插件,它基于现有的MySQL复制基础结构,并利用了二进制日志,基于行的日志记录和全局事务标识符等功能。它与当前的MySQL框架集成,例如性能模式或插件和服务基础结构。下图提供了一个框图,描述了MySQL组复制的总体体系结构。

    组复制插件框图

    MySQL组复制插件包括一组用于捕获,应用和生命周期的API,这些API控制插件如何与MySQL Server交互。有一些接口可以使信息从服务器流向插件,反之亦然。这些接口将MySQL Server核心与组复制插件隔离开,并且大多数是放置在事务执行管道中的钩子。在一个方向上,从服务器到插件,会有事件通知,例如服务器启动,服务器恢复,服务器准备接受连接以及服务器即将提交事务。另一方面,插件会指示服务器执行诸如提交或中止正在进行的处理,

    组复制插件体系结构的下一层是一组组件,这些组件在将通知路由到它们时会做出反应。捕获组件负责跟踪与正在执行的事务相关的上下文。应用程序组件负责在数据库上执行远程事务。恢复组件管理分布式恢复,并负责通过选择捐献者,管理追赶程序并对捐献者的故障做出反应来使加入组的服务器保持最新状态。

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

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


    上篇:组复制服务