11. MGR技术架构及数据同步、认证机制 | 深入浅出MGR

本文详细解读了MGR的架构,包括Server、MGR处理层和Paxos层,以及事务提交、认证过程,重点介绍了事务合法性判断、信息封装、冲突检测和事务数据库清理。了解MGR工作原理有助于高效部署和管理MySQL集群。
  • GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。
  • GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。

[toc]

本文简单介绍下MGR的整体技术架构概况,事务同步过程,事务认证机制等关键知识点。

1. MGR架构

再来看一遍MGR的架构图:

file

从上图可知,MGR工作时,主要涉及到以下三层:

  1. Server层:负责处理用户请求,接收用户事务,返回结果等。
  2. MGR处理层:接收来自Server层的事务请求,处理Paxos层返回消息。
  3. Paxos层:将所有消息进行全局排队,然后发送给MGR处理层。

MGR是以Plugin(插件)的方式集成到MySQL中,可以简单灵活部署,它在MySQL进行事务处理、Binlog传输和持久化等逻辑处理时,预埋了一些(Hook)钩子,在钩子上注册函数处理MGR相关逻辑。

以用户提交事务为例:

  1. 用户线程发出commit,请求提交事务,处在Server层。
  2. Server层调用MGR处理层,将事务信息通过Paxos层进行同步,用户线程等待。
  3. MGR处理层处理Paxos同步后的消息,唤醒用户线程,返回到Server层。

在上面的架构图中,可以看到有以下几个模块:

  1. Capture,负责跟踪本节点的事务。
  2. Applier,负责执行远程事务(在其他节点产生的事务)。
  3. Recovery,负责故障恢复时,选择donor节点,catch up binlog等。
  4. Replication Protocol Logics,消息封装、接收XCom返回的消息、发送本节点消息给XCom、事务认证(冲突检测)等。
  5. GCE,在GCS层具体实现XCom(XCom是eXtended COMmunications的缩写,是Paxos协议在MySQL里的具体实现,在有些文章中看到Paxos和XCom可以认为是同一个意思)。

MGR集群由DB1、DB2、DB3三个节点构成,则对于DB1来说,DB2、DB3上产生的事务就是远程事务,而DB1上产生的事务则是本地事务。

2. 事务数据同步、认证过程

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值