canal —— 阿里巴巴mysql数据库binlog的增量订阅&消费组件
2016-01-08 15:49
1121 查看
阿里巴巴mysql数据库binlog的增量订阅&消费组件canal ,转载自 https://github.com/alibaba/canal
canal消费端项目开源: Otter(分布式数据库同步系统),地址:https://github.com/alibaba/otter
ps. 目前内部版本已经支持mysql和oracle部分版本的日志解析,当前的canal开源版本支持5.6及以下的版本(阿里内部mysql 5.6.10, mysql 5.5.18和5.1.40/48)
基于日志增量订阅&消费支持的业务:
数据库镜像
数据库实时备份
多级索引 (卖家和买家各自分库索引)
search build
业务cache刷新
价格变化等重要业务消息
译意: 水道/管道/沟渠
语言: 纯java开发
定位: 基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了mysql
关键词: mysql binlog parser / real-time / queue&topic
从上层来看,复制分成三步:
master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events,可以通过show binlog events进行查看);
slave将master的binary log events拷贝到它的中继日志(relay log);
slave重做中继日志中的事件,将改变反映它自己的数据。
原理相对比较简单:
canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议
mysql master收到dump请求,开始推送binary log给slave(也就是canal)
canal解析binary log对象(原始为byte流)
Introduction
QuickStart
ClientExample
AdminGuide
ClientAPI
DevGuide
BinlogChange(Mysql5.6)
ReleaseNotes
Download
与阿里巴巴的RocketMQ配合使用
最新更新
canal QQ讨论群已经建立,群号:161559791 ,欢迎加入进行技术讨论。canal消费端项目开源: Otter(分布式数据库同步系统),地址:https://github.com/alibaba/otter
背景
早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。不过早期的数据库同步业务,主要是基于trigger的方式获取增量变更,不过从2010年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务,从此开启了一段新纪元。ps. 目前内部版本已经支持mysql和oracle部分版本的日志解析,当前的canal开源版本支持5.6及以下的版本(阿里内部mysql 5.6.10, mysql 5.5.18和5.1.40/48)
基于日志增量订阅&消费支持的业务:
数据库镜像
数据库实时备份
多级索引 (卖家和买家各自分库索引)
search build
业务cache刷新
价格变化等重要业务消息
项目介绍
名称:canal [kə'næl]译意: 水道/管道/沟渠
语言: 纯java开发
定位: 基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了mysql
关键词: mysql binlog parser / real-time / queue&topic
工作原理
mysql主备复制实现
从上层来看,复制分成三步:
master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events,可以通过show binlog events进行查看);
slave将master的binary log events拷贝到它的中继日志(relay log);
slave重做中继日志中的事件,将改变反映它自己的数据。
canal的工作原理:
原理相对比较简单:
canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议
mysql master收到dump请求,开始推送binary log给slave(也就是canal)
canal解析binary log对象(原始为byte流)
相关文档
See the wiki page for : wiki文档wiki文档列表
HomeIntroduction
QuickStart
ClientExample
AdminGuide
ClientAPI
DevGuide
BinlogChange(Mysql5.6)
ReleaseNotes
Download
相关资料:
ADC阿里技术嘉年华分享ppt (放在google docs上,可能需要FQ): ppt下载与阿里巴巴的RocketMQ配合使用
相关文章推荐
- mysql索引总结----mysql 索引类型以及创建
- mysql 下 计算 两点 经纬度 之间的距离
- MySQL丢数据及主从数据不一致的场景
- 解读mysql主从配置及其原理分析(Master-Slave)
- MYSQL 5.7版本修改密码
- Mysql一些常用语句
- MySQL 5.7版本新特性
- mysql无法远程连接的解决方法
- mysqldump: [ERROR] unknown variable 'delayed-inser
- mysql自然连接、内连接、外连接
- mysql博客
- 报错:1130-host ... is not allowed to connect to this MySql server
- mysql中获取一天、一周、一月时间数据的各种sql语句写法
- Keepalived+Mysql双主
- 一步一步安装hive,mysql安装
- 加锁与事务MySQL
- mysql 从读负载
- Hibernate向MySQL插入中文数据--乱码解决
- mysql的二进制日志是什么,有什么作用
- cmd连接mysql的方法详解