数据采集之cannal

cannal定义

Canal是用java开发的基于数据库增量日志解析,提供增量数据订阅&消费的中间件。目前,Canal主要支持了MySQL的Binlog解析,解析完成后才利用Canal Client 用来处理获得的相关数据。(数据库同步需要阿里的otter中间件,基于Canal)

使用场景

1)原始场景: 阿里otter中间件的一部分
otter是阿里用于进行异地数据库之间的同步框架,canal是其中一部分。
2) 常见场景1:更新缓存
3)场景2:抓取业务数据新增变化表,用于制作拉链表。
4)场景3:抓取业务表的新增变化数据,用于制作实时统计。

canal的工作原理

复制过程分成三步:
1)Master主库将改变记录写到二进制日志(binary log)中;
2)Slave从库向mysql master发送dump协议,将master主库的binary log events拷贝到它的中继日志(relay log);
3)Slave从库读取并重做中继日志中的事件,将改变的数据同步到自己的数据库。
canal的工作原理很简单,就是把自己伪装成slave,假装从master复制数据。

重要版本更新说明

canal 1.1.x 版本(release_note),性能与功能层面有较大的突破,重要提升包括:
整体性能测试&优化,提升了150%. #726 参考: Performance
原生支持prometheus监控 #765 Prometheus QuickStart
原生支持kafka消息投递 #695 Canal Kafka/RocketMQ QuickStart
原生支持aliyun rds的binlog订阅 (解决自动主备切换/oss binlog离线解析) 参考: Aliyun RDS QuickStart
原生支持docker镜像 #801 参考: Docker QuickStart
canal 1.1.4版本,迎来最重要的WebUI能力,引入canal-admin工程,支持面向WebUI的canal动态管理能力,支持配置、任务、日志等在线白屏运维能力,具体文档:Canal Admin Guide

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值