canal

Canal是一个用于数据库增量数据订阅和消费的工具,它伪装成MySQL slave获取binlog并解析,支持数据库镜像、实时备份、多级索引等功能。使用上,可以通过Docker快速部署,并与Otter进行对比,Canal负责接收和解析binlog,而Otter负责执行同步插入。
摘要由CSDN通过智能技术生成

canal

https://github.com/alibaba/canal
又一个阿里巴巴开源的数据同步工具
定位: 基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了mysql

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

数据库镜像
数据库实时备份
多级索引 (卖家和买家各自分库索引)
search build
业务cache刷新
价格变化等重要业务消息

原理

  1. canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议
  2. mysql master收到dump请求,开始推送binary log给slave(也就是canal)
  3. canal解析binary log对象(原始为byte流)

说白了就是利用mysql的主从同步机制。这货伪装成一个slave节点,去读取binlog日志分析数据变更,进行同步操作。
基于生产者和消费者模型

如何使用

官方教程 https://github.com/alibaba/canal/wiki/Docker-QuickStart

老规矩用docker安装
docker pull canal/canal-server
运行镜像:
下载脚本
wget

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值