Canal

月伴飞鱼 2024-09-19 17:05:20
框架相关
支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者!

主要用途是基于MySQL数据库增量日志解析,提供增量数据订阅和消费。

GitHub地址:https://github.com/alibaba/canal

文档地址:https://github.com/alibaba/canal/wiki

Canal的好处在于对业务代码没有侵入,因为是基于监听BinLog日志去进行同步数据的。

  • 实时性也能做到准实时,是很多企业一种比较常见的数据同步的方案。

img

工作原理

Canal是一个伪装成Slave订阅MySQLBinLog,实现数据同步的中间件。

  • Canal模拟MySQL Slave的交互协议,伪装自己为MySQL Slave,向MySQL Master发送Dump协议
  • MySQL Master收到Dump请求,开始推送BinLogSlave(即Canal)
  • Canal解析BinLog对象(原始为Byte流)
支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者!