微信扫一扫

028-83195727 , 15928970361
business@forhy.com

基于MYSQL的Binlog增量数据同步服务

mysql,数据,数据同步-binlo2016-08-10

系统工作原理


基于MYSQL日志增量数据同步原理:

  • 1、DBAsync伪装自己为mysql slave,向mysql master发送dump协议
  • 2、mysql master收到dump请求,开始推送binary log给DBAsync
  • 3、DBAsync解析binary log,将数据改动同步到下游(MQ、DB…)

DBAsync工作流程


工作流程:


  • 1、启动解析配置文件。
  • 2、注册响应处理函数。
  • 3、如果没有binglog相关的信息,执行mysqldump进行同步;并记录相应的binglog信息。
  • 4、通过COM_BINLOG_DUMP命令,将binglog的文件名、偏移量发送给MYSQL。
  • 5、监听Binglog的变更。
  • 6、获取Binlog变更后进行解析,调用回调函数。
  • 7、将变更编码后发送到下游。
  • 8、处理成功后存储binlog文件名以及偏移量。

注:调用处理函数多线程处理

HA机制设计【方案一】


双同步节点互为主备的工作过程:

  • 1、DBAsync启动后探测对端状态;对端running,自己则进入standby;反之对端无响应或者standby,自己则进入running。
  • 2、处于running状态的节点,将binlog的位置信息回复给探测请求;standby状态节点存储响应的binlog信息。
  • 3、出现双running状态时,binlog信息高版本的退出

HA机制设计【方案二】


接入配置服务工作过程:

  • 1、由配置服务决定哪个是主。
  • 2、主服务更新binlog信息到配置服务,主备切换的时候从配置服务获取最新的binlog信息。