canal配置RocketMQ做消息数据同步

前言:由于我们公司需要数据库中的数据分别同步到ES、Mongodb及redis中,最初使用的是binlog而最近发现了一款性能更好的即阿里巴巴mysql数据库binlog的增量订阅&消费组件canal

canal [kə'næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费

canal配置RocketMQ做消息数据同步_第1张图片

 从一张官网图中,我们可以看到canal的原理

  1. canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送dump 协议
  2. MySQL master 收到 dump 请求,开始推送 binary log 给 slave (即 canal )
  3. canal 解析 binary log 对象,最后将解析的内容发送给mysql、kafka、es、rocketMQ等

配置

首先介绍我们这边的版本:canal.deployer-1.1.5(采用的是win10环境)

以下是目录结构:

你可能感兴趣的:(数据一致性,同步数据,mongodb,数据库,mysql,canal,es)