canal 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
canal 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
canal 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache
开发语言 Java 查看源码 »
操作系统 跨平台
软件类型 开源软件
开源组织 阿里巴巴
地区 国产
投 递 者 红薯
适用人群 未知
收录时间 2013-02-22

软件简介

canal 是阿里巴巴 MySQL 数据库 Binlog 的增量订阅&消费组件。

名称:canal [kə'næl]
译意: 水道/管道/沟渠
语言: 纯java开发
定位: 基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL

早期,阿里巴巴 B2B 公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。不过早期的数据库同步业务,主要是基于 trigger 的方式获取增量 变更,不过从 2010 年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务,从此开 启了一段新纪元。ps. 目前内部使用的同步,已经支持 MySQL 5.x 和 Oracle 部分版本的日志解析

 

基于日志增量订阅&消费支持的业务:

  1. 数据库镜像

  2. 数据库实时备份

  3. 多级索引 (卖家和买家各自分库索引)

  4. search build

  5. 业务cache刷新

  6. 价格变化等重要业务消息

Canal 工作原理:

原理相对比较简单:

  1. canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议

  2. mysql master收到dump请求,开始推送binary log给slave(也就是canal)

  3. canal解析binary log对象(原始为byte流)

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(10)
发表了资讯
2021/08/20 17:48

【重大更新】CloudCanal 社区版 1.0.2 正式发布,开放众多新数据源

CloudCanal是一款由ClouGence公司发行的集结构迁移、数据全量迁移/校验/订正、增量实时同步为一体的多源多端数据迁移同步平台。产品包含完整的产品化能力,助力企业打破数据孤岛、完成数据互融互通,从而更好的使用数据。 发版时间:2021年8月20日 版本号: 1.0.2 新特性 新增Oracle源端 新增PostgreSQL源端 新增Greenplum源端 新增PolarDbMySQL源端 新增Oracle目标端 新增PostgreSQL目标端 新增Greenplum目标端 新增Hive目标端 ...

0
16
发表了资讯
2021/08/16 17:13

CloudCanal 社区版正式发布 1.0.1,支持数据校验与数据订正并修复若干问题

CloudCanal是一款由ClouGence发行的集结构迁移、数据全量迁移/校验/订正、增量实时同步为一体的数据迁移同步平台。产品包含完整的产品化能力,助力企业打破数据孤岛、完成数据互融互通,从而更好的使用数据。 版本发布 CloudCanal社区版1.0.1正式发布 新特性 • 创建任务支持批量裁剪列 • 支持MySQL->MySQL数据源数据校验、订正任务 • 支持数据校验和数据订正任务的重跑 • 无主键无唯一键表也支持update delete • 支持用户自...

1
8
发表了资讯
2021/08/05 17:55

数据迁移同步平台 CloudCanal 免费社区版正式发布,诸多功能特性等你体验!

关于CloudCanal 产品介绍 2021年8月1日,经历近2年的准备,CloudCanal社区版正式与大家见面了。CloudCanal是一款由[ClouGence公司](https://www.clougence.com)发行的集结构迁移、数据全量迁移/校验/订正、增量实时同步为一体的数据迁移同步平台。产品包含完整的产品化能力,助力企业打破数据孤岛、完成数据互融互通,从而更好的使用数据。CloudCanal社区版为免费版本,我们会持续地对其维护,请大家放心下载使用。 研发团队 Cl...

5
46
发表于数据库专区
2019/09/02 19:35

canal 1.1.4 发布,MySQL binlog 增量订阅&消费组件

canal 1.1.4正式发布,迎来最重要的WebUI能力,终于可以告别黑屏运维! 主要特性: 1. 引入canal-admin工程,支持面向WebUI的canal动态管理能力,支持配置、任务、日志等在线白屏运维能力 【超级福利】 2. fastsql重大版本升级,全面兼容MySQL DDL的解析能力,关闭所有已知DDL的issue,全面保障TableMetaTSDB的稳定性 3. 多语言家族新增Python客户端的贡献,目前总计支持5钟语言的sdk,包含:java/c#/go/php/python 4. 修复MQ发...

1
40
发表于数据库专区
2019/04/05 06:39

阿里巴巴 canal 开源组件发布 v1.1.3 版本

canal 是阿里巴巴在 2012 年开源的基于 MySQL 数据库增量日志解析,提供增量数据订阅&消费。基于 canal 的准实时日志订阅消费,你可以完成类似的业务: 同步到另一个数据库,比如异地容灾、同步离线库等 构建多级索引 (卖家和买家各自分库索引) 实时构建搜索引擎,比如同步给 elasticsearch 业务 cache 刷新 价格变化等重要业务消息 项目开源地址:https://github.com/alibaba/canal。经历了 4 个月的蛰伏,canal 1.1 系列的 1....

4
46
发表于数据库专区
2018/11/28 11:28

canal 1.1.2 发布,阿里 MySQL Binlog 增量订阅&消费组件

canal 1.1.2 已发布,更新内容如下: 功能新增 支持mysql8.0的binlog解析 【BinlogChange(MySQL8)】 canal提供内置的客户端能力【ClientAdapter】 同步到HBase wiki 同步到Rdb(支持mysql/pg/oracle/sqlserver) wiki 同步到ES wiki 目前adapter为支持更多常见的目标存储,会处于快速迭代中,不同版本之间会有接口调整,请及时关注文档 RocketMQ消息支持直接投递至aliyun ons(RocketMQ云服务) #1169 功能重构 MQ消息发送的配置相关...

9
43
发表于数据库专区
2018/10/30 10:34

canal 1.1.1 发布,阿里 MySQL Binlog 增量订阅&消费组件

功能新增 原生支持 RocketMQ 消息投递 #695 【Canal Kafka QuickStart】 原生支持 hbase 的数据同步 #849 ClientAdapter 新增 c#/go 多语言客户端的支持 canal java 客户端: https://github.com/alibaba/canal/wiki/ClientExample canal c# 客户端开源项目地址: https://github.com/CanalSharp/CanalSharp canal go 客户端开源项目地址: https://github.com/CanalClient/canal-go MQ 消息投递支持按 pk hash 到多个分区 part...

4
18
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
10 评论
265 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部