build statuscodecovmavenlicenseaverage time to resolve an issuepercentage of issues still open

项目介绍

名称:canal [kə'næl]

译意: 水道/管道/沟渠

产品定位: 基于数据库增量日志解析,提供增量数据订阅和消费

关键词: MySQL binlog parser / real-time / queue&topic / index build

工作原理

Home - 图7

  • canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送dump 协议
  • MySQL master 收到 dump 请求,开始推送 binary log 给 slave (即 canal )
  • canal 解析 binary log 对象(原始为 byte 流)

如何参与

  • 如果您在使用 canal 过程中,发现 bug 或者有新的述求,欢迎提交 issue ,请按标准模板进行填写,以便我们快速进行定位和理解,从而解决问题或者精确实现您的诉求
  • 如果您希望参与到代码开发中来,欢迎提交 pull request(如何使用 pull request?),代码开发前,请在 IDE 中导入工程中的 codeformat.xml 文件 (intellij idea 请先安装 Eclipse Code Formatter 插件,再进行设置)
  • 如果 canal 帮助到了您的业务,并且觉得这个产品还不错,请多多向您的朋友、同事推荐,感谢

交流渠道

Home - 图8

QuickStart

See the page for quick start: QuickStart.

ClientExample

See the page for quick start: ClientExample.

AdminGuide

See the page for admin deploy guide : AdminGuide

Canal-Admin WebUI

See the page for admin deploy guide : Canal Admin Guide

重要版本更新说明

  • canal 1.1.x 版本(release_note),性能与功能层面有较大的突破,重要提升包括:
  • 整体性能测试&优化,提升了150%. #726 参考: Performance
  • 原生支持prometheus监控 #765 Prometheus QuickStart
  • 原生支持kafka消息投递 #695 Canal Kafka/RocketMQ QuickStart
  • 原生支持aliyun rds的binlog订阅 (解决自动主备切换/oss binlog离线解析) 参考: Aliyun RDS QuickStart
  • 原生支持docker镜像 #801 参考: Docker QuickStart
  • canal 1.1.4版本,迎来最重要的WebUI能力,引入canal-admin工程,支持面向WebUI的canal动态管理能力,支持配置、任务、日志等在线白屏运维能力,具体文档:Canal Admin Guide

多语言

canal 特别设计了 client-server 模式,交互协议使用 protobuf 3.0 , client 端可采用不同语言实现不同的消费逻辑,欢迎大家提交 pull request

版本

  1. <dependency>
  2. <groupId>com.alibaba.otter</groupId>
  3. <artifactId>canal.client</artifactId>
  4. <version>1.1.4</version>
  5. </dependency>