您的位置:首页 > 数据库 > MySQL

[置顶] 基于MYSQL的Binlog增量数据同步服务

2016-08-10 16:45 591 查看
(by 刘延允)

系统工作原理



基于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机制设计【方案一】

![这里写图片描述](https://img-blog.csdn.net/20160810164237913)
**双同步节点互为主备的工作过程:**

1、DBAsync启动后探测对端状态;对端running,自己则进入standby;反之对端无响应或者standby,自己则进入running。

2、处于running状态的节点,将binlog的位置信息回复给探测请求;standby状态节点存储响应的binlog信息。

3、出现双running状态时,binlog信息高版本的退出



HA机制设计【方案二】



接入配置服务工作过程:

1、由配置服务决定哪个是主。

2、主服务更新binlog信息到配置服务,主备切换的时候从配置服务获取最新的binlog信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: