[置顶] 基于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…)
工作流程:
1、启动解析配置文件。
2、注册响应处理函数。
3、如果没有binglog相关的信息,执行mysqldump进行同步;并记录相应的binglog信息。
4、通过COM_BINLOG_DUMP命令,将binglog的文件名、偏移量发送给MYSQL。
5、监听Binglog的变更。
6、获取Binlog变更后进行解析,调用回调函数。
7、将变更编码后发送到下游。
8、处理成功后存储binlog文件名以及偏移量。
注:调用处理函数多线程处理
**双同步节点互为主备的工作过程:**
1、DBAsync启动后探测对端状态;对端running,自己则进入standby;反之对端无响应或者standby,自己则进入running。
2、处于running状态的节点,将binlog的位置信息回复给探测请求;standby状态节点存储响应的binlog信息。
3、出现双running状态时,binlog信息高版本的退出
接入配置服务工作过程:
1、由配置服务决定哪个是主。
2、主服务更新binlog信息到配置服务,主备切换的时候从配置服务获取最新的binlog信息。
系统工作原理
基于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信息。
相关文章推荐
- 基于网络文件共享服务的双机数据同步方法
- mysql binlog 混合模式 出现的基于sql的数据不一致,主要是now()这类函数导致
- 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ数据仓库——安装配置NTP服务,保证集群时间保持同步
- mysql备份还原-基于binlog的增量备份还原
- [置顶] 基于 WebSocket 实现 WebGL 3D 拓扑图实时数据通讯同步(一)
- 阿里巴巴去Oracle数据迁移同步工具(全量+增量,目标支持MySQL/DRDS)
- 基于Solr DIH实现MySQL表数据全量索引和增量索引
- 10.Solr4.10.3数据导入(DIH全量增量同步Mysql数据)
- 利用脚本实现mysql主库到备库数据同步(每五分钟同步一次增量)
- canal读取mysql的binlog实时同步数据到kudu的数据异构方案
- 用solr DIH 实现mysql 数据定时,增量同步到solr
- 云享团——基于大数据开发套件的增量同步策略
- 云享团——基于大数据开发套件的增量同步策略
- MySQL数据实时增量同步到Kafka - Flume
- 基于tungsten API 同步mysql binlog出现EOF packet received的问题解决
- solr5.5配置定时全量、增量同步索引mysql数据
- mysql binlog 混合模式 出现的基于sql的数据不一致,主要是now()这类函数导致
- 云享团——基于大数据开发套件的增量同步策略
- 基于DataX3.0将MySQL中的数据同步到Oracle
- Mysql数据同步方案:Percona Xtrabackup备份mysql大数据库(完整备份与增量备份)