Canal的原理是模拟Slave向Master发送请求,Canal解析binlog,但不将解析结果持久化,而是保存在内存中,每次有客户端读取一次消息,就删除该消息。这里所说的客户端,就需要我们写一个连接Canal的程序,持续从Canal获取数据。otter 基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库. 一个分布式数据库同步系统。

 

基于日志增量订阅&消费支持的业务:

数据库镜像

数据库实时备份

多级索引 (卖家和买家各自分库索引)

search build

业务cache刷新

价格变化等重要业务消息


【阿里之Canal介绍】
 

原理相对比较简单:

canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议

mysql master收到dump请求,开始推送binary log给slave(也就是canal)

canal解析binary log对象(原始为byte流)

【阿里之Canal介绍】
 

 

原理描述:

1. 基于Canal开源产品,获取数据库增量日志数据。

2. 典型管理系统架构,manager(web管理)+node(工作节点)

    a. manager运行时推送同步配置到node节点

    b. node节点将同步状态反馈到manager上

3. 基于zookeeper,解决分布式状态调度的,允许多node节点之间协同工作.

 


【阿里之Canal介绍】
 

相关文章:

  • 2021-12-26
  • 2021-12-31
  • 2022-01-02
  • 2021-10-29
  • 2021-11-05
  • 2022-12-23
  • 2021-11-08
猜你喜欢
  • 2021-05-05
  • 2021-08-10
  • 2021-12-25
  • 2021-12-01
  • 2021-07-02
  • 2021-04-21
  • 2021-05-25
相关资源
相似解决方案