canel
来源:互联网 发布:大数据发展趋势 编辑:程序博客网 时间:2024/05/03 08:13
http://www.oschina.net/p/canal
canal 是阿里巴巴mysql数据库binlog的增量订阅&消费组件。
名称:canal [kə'næl]
译意: 水道/管道/沟渠
语言: 纯java开发
定位: 基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了mysql
早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。不过早期的数据库同步业务,主要是基于trigger的方式获取增量 变更,不过从2010年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务,从此开 启了一段新纪元。ps. 目前内部使用的同步,已经支持mysql5.x和oracle部分版本的日志解析
基于日志增量订阅&消费支持的业务:
数据库镜像
数据库实时备份
多级索引 (卖家和买家各自分库索引)
search build
业务cache刷新
价格变化等重要业务消息
Canal 工作原理:
原理相对比较简单:
canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议
mysql master收到dump请求,开始推送binary log给slave(也就是canal)
canal解析binary log对象(原始为byte流)
0 0
- canel
- iOS 修改搜索控件canel
- 移动前端头部标签(HTML5 head meta)1
- 多线程环境下生成随机数
- poj3181:藏坑的背包
- 如何理解HTTP协议的 “无连接,无状态” 特点?
- JBPM4.4入门学习一:JBPM安装配置及构建数据库环境
- canel
- linux设备驱动——总线、设备、驱动
- 2016年普通高等学校招生全国统一卷(S6 6.10卷)
- 数据仓库数据模型之:极限存储--历史拉链表
- mouseover事件与mouseenter事件的区别
- 新建maven web项目时报错web.xml is missing and <failOnMissingWebXml> is set to true解决方案
- 条款01:视c++为一个联邦语言
- IncompleteElementException: Could not find result map java.util.HashMap
- javaGUI设计一个简单计算器