系统工作原理
基于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信息。