简单介绍canal,从binlog说起

binlog

对于Mqsql的主从复制能力实现是通过binlog来实现,其工作原理如下:
主数据库叫做master,从数据叫做slave

  1. master 操作日志-save-> binlog (binlog有保留时间,所以是一种增量日志)
  2. slave -request-> master 获取binlog
  3. slave binlog-save-> relay log(中继日志)
  4. slave -replay binlog-> 进行复制

canal

canal就是利用mysql这种特性,通过模拟slave的请求,获取binlog,进行解析、过滤、处理、存储或者发送mq实现数据库事件的分发
对于这些功能,canal包含了以下模块:

  • common 工具方法和接口
  • driver 数据库连接
  • parse binlog解析
  • store binlog事件的内存队列存储
  • instance 每个instance对应一个mysql实例,一个instance包含dirver/parse/store
  • server canal服务

源码解析可以到参考中查看

参考

http://www.tianshouzhi.com/api/tutorials/canal/380

发布了22 篇原创文章 · 获赞 1 · 访问量 511

猜你喜欢

转载自blog.csdn.net/weixin_37512224/article/details/104917121