项目介绍

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

译意: 水道/管道/沟渠

语言: 纯java开发

定位: 基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了mysql

关键词: mysql binlog parser / real-time / queue&topic

工作原理

Home - 图1

原理相对比较简单:

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

    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

    时序表结构

    New Feature: TableMetaTSDB

    版本相关:

  1. 建议版本:1.0.22
  • 下载发布包:download

  • maven依赖

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

最新更新

  • canal QQ讨论群已经建立,群号:161559791 ,欢迎加入进行技术讨论。
  • canal消费端项目开源: Otter(分布式数据库同步系统),地址:https://github.com/alibaba/otter
    1. 【招聘】阿里巴巴中间件团队招聘JAVA高级工程师
    2. 岗位主要为技术型内容(非业务部门),阿里中间件整个体系对于未来想在技术上有所沉淀的同学还是非常有帮助的
    3. 工作地点:杭州、北京均可. ps. 阿里待遇向来都是不错的,有意者可以QQ、微博私聊.
    4. 具体招聘内容:https://job.alibaba.com/zhaopin/position_detail.htm?positionId=32666

原文: https://github.com/alibaba/canal/wiki/Home