目录
1 canal简介
1.1 canal是什么
canal是阿里巴巴开源的一款 基于DB数据增量变更的日志解析工具,简单点就是能监控所有DB的变更操作。
例如:你往一张表插入一条数据成功,如果你使用了canal,那么你在canal-client中就立马会知道有这么一条数据插入了。
1.2 canal有什么用
阿里巴巴最开始是用来作为跨机房数据同步的,但很多小伙伴可能会说这么高大上的操作,估计没我什么事。那这么想就错了,实际上他还能做很多其他的事情。
例如:
- 监控数据变更,将变动数据通知更新Elasticsearch搜索引擎。
- 监控业务数据变更(库,表),然后针对这个变更进行一系列的业务操作,比如:充值赠送,用户充值成功后,赠送一些其他的小东西,这个时候用他就很适合,没必要引入特别复杂的机制去维护一致性,也不需要加入到充值代码中使业务变的不单一,能够很好的解耦。
- 内部不同系统之间的数据同步,不需要将数据同步方法写入业务代码,还能保证最终一致。