基于canal的client-adapter数据同步必读指南

本文将介绍canal项目中client-adapter的使用,以及落地生产中需要考虑的可靠性、高可用与监控报警。(基于canal 1.1.4版本)

canal作为mysql的实时数据订阅组件,实现了对mysql binlog数据的抓取。

虽然阿里也开源了一个纯粹从mysql同步数据到mysql的项目otter(github.com/alibaba/otter,基于canal的),实现了mysql的单向同步、双向同步等能力。但是我们经常有从mysql同步数据到es、hbase等存储的需求,就需要用户自己用canal-client获取数据进行消费,比较麻烦。

从1.1.1版本开始,canal实现了一个配套的落地模块,实现对canal订阅的消息进行消费,就是client-adapter(github.com/alibaba/canal/wiki/ClientAdapter)。

目前的最新稳定版1.1.4版本中,client-adapter已经实现了同步数据到RDS、ES、HBase的能力。

1. Client-Adapter基本能力

目前Adapter具备以下基本能力:

  • 对接上游消息,包括kafka、rocketmq、canal-server
  • 实现mysql数据的增量同步
  • 实现mysql数据的全量同步
  • 下游写入支持mysql、es、hbase

2.Client-Adapter架构

Adapter本质上是为了将canal-server订阅到的实时增量数据进行消费,所以必须有上游canal-server产生数据。

整体架构如下:
在这里插入图片描述

3. 迁移与同步配置(以Mysql为例)

官方文档地址:github.com/alibaba/canal/wiki/Sync-RDB

下面给出实践过程中的注意事项。

3.1 参数配置

1)总配置文件application.yml

在这里插入图片描述

说明:

  • 一份数据可以被多个group同时消费, 多个group之间会是一个并行执行, 一个group内部是一个串行执行多个outerAdapters, 比如例子
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值