基于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信息。