forked from alibaba/canal
-
Notifications
You must be signed in to change notification settings - Fork 8
Home
He Wang edited this page Dec 19, 2021
·
5 revisions
Canal是一个开源的增量日志解析工具,主要提供了4个组件:
- canal deployer:canal的服务端,进行binlog到CanalEntry的转换。
- canal admin:canal的配置管理服务,提供web页面管理canal的server端服务。
- canal adapter:canal的客户端适配器,解析CanalEntry并将增量变动同步到目的端。
- canal example:canal的客户端示例,用户可以基于该部分代码实现自己的消费逻辑。
更多的介绍参见官方仓库Wiki
Canal Deployer服务启动后,会根据配置的destinations信息创建Instance,即增量日志处理通路。目前canal-for-ob分支在原有MySQL Binlog解析功能不变的情况下,在parse模块集成了oblogclient,增加了获取OceanBase的增量redo log对能力,过程如下图所示。
Canal Deployer将增量日志转为CanalEntry之后,有两种消费方式:
- TCP:数据存放在内存,客户端通过TCP连接获取日志数据。
- MQ:数据直接写入MQ,其他端通过消费MQ获取日志数据。
项目主要包含如下几部分:
- bin:存放启动、关闭、重启脚本
- conf:配置文件目录
- lib:项目用到的jar包
- logs:用bin目录的脚本启动时,日志会打到这个目录下
- plugin:一些可选择的插件的jar包
开始部署前,请先阅读生产环境实践,根据自己的情况选择合适的部署方式。
请使用最新release的安装包:https://github.com/oceanbase/canal/releases