canal [k?‘næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费

早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务 trigger 获取增量变更。从 2010 年开始,业务逐步尝试数据库日志解析获取增量变更进行同步,由此衍生出了大量的数据库增量订阅和消费业务。

工作原理

MySQL主备复制原理

MySQL master 将数据变更写入二进制日志( binary log, 其中记录叫做二进制日志事件binary log events,可以通过 show binlog events 进行查看)

MySQL slave 将 master 的 binary log events 拷贝到它的中继日志(relay log)

MySQL slave 重放 relay log 中事件,将数据变更反映它自己的数据

canal 工作原理

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

MySQL master 收到 dump 请求,开始推送 binary log 给 slave (即 canal )

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

安装搭建

1.下载

https://github.com/alibaba/canal/releases?after=canal-1.1.1

我本人用的是这个版本,阿里后续更新了更多版本,如果有其他需求可以选择其他版本。

2.解压安装

将压缩包上传至服务器,解压,最好将压缩包放在一个单独的文件夹,解压后可直接将压缩包删除,因为该安装包解压后内部的文件夹会直接暴露出来,并不会打包到一起。

开始配置文件

canal mysql多实例_canal搭建实例相关推荐

  1. canal mysql从库_canal中间件|数据增量同步解决方案

    上一文中提到延时双删等策略实现数据一致性的时候,可能存在删除缓存失败的情况,就会出现缓存和数据库不一致的问题.为了应对删除缓存失败而导致数据不一致的问题,可以通过回溯数据库日志文件,提供一个保障的重试 ...

  2. springmvc与mysql实例_Spring+Mybatis+SpringMVC+Maven+MySql搭建实例

    摘要:本文主要讲了如何使用Maven来搭建Spring+Mybatis+SpringMVC+MySql的搭建实例,文章写得很详细,有代码有图片,最后也带有运行的效果. 一.准备工作 1. 首先创建一个 ...

  3. Spring+Mybatis+SpringMVC+Maven+MySql(SSM框架)搭建实例

    这篇文章我们来实现使用maven构建工具来搭建Spring+Mybatis+SpringMVC+MySql的框架搭建实例.工程下载 使用maven当然得配置有关环境了,不会配置的请看我前几篇文章,都有 ...

  4. mysql多副本搭建_一个简单的MySQL多实例环境搭建

    安装mysql 初始化两个数据库目录 mysql_install_db --datadir=/usr/local/var/mysql1 --user=mysql mysql_install_db -- ...

  5. pdo mysql 绑定查询_php mysql PDO 查询操作的实例详解

    php mysql PDO 查询操作的实例详解 php mysql PDO 查询操作的实例详解 这篇文章主要介绍了php mysql PDO 查询操作的实例详解的相关资料,希望通过本文能帮助到大家,需 ...

  6. Spring 4 MVC+Hibernate 4+MySQL+Maven使用注解集成实例

    Spring 4 MVC+Hibernate 4+MySQL+Maven使用注解集成实例 转自:通过注解的方式集成Spring 4 MVC+Hibernate 4+MySQL+Maven,开发项目样例 ...

  7. 基于mysqld_multi实现MySQL 5.7.24多实例多进程配置

    MySQL多实例的原理 mysql多实例,简单理解就是在一台服务器上,mysql服务开启多个不同的端口(如3306.3307.3308)运行多个服务进程.这些 mysql 服务进程通过不同的 sock ...

  8. SSH框架总结(框架分析+环境搭建+实例源代码下载)

    首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是眼下较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框 ...

  9. php mysql PDO 查询操作的实例详解

    php mysql PDO 查询操作的实例详解 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ...

最新文章

  1. 从硬件角度看,无人车商业化落地难点
  2. 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(下)
  3. Linux sendmail 服务器
  4. Silverlight中使用控件模板的问题(自己添加控件的方法)
  5. The MIT License (MIT)
  6. Linux命令大全(个人整理,如不全面望谅解)
  7. java面试题:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
  8. ACM-ICPC 2018徐州网络赛-H题 Ryuji doesn't want to study
  9. NOI.AC #31. MST
  10. 创建一个war类型的maven项目
  11. 智慧景区管理系统提升游客服务体验
  12. python——numpy——roll()函数
  13. docker镜像下载及docker镜像管理
  14. 2018年11月中旬香港, 吉隆坡8天游记
  15. python量化期权_Python量化之期货期权无风险套利测试
  16. 电脑开机出现the computer case is open怎么办?
  17. [4G5G专题-64]:RF层 - 无线电磁波的基本原理与传输特性
  18. 软件性能测试方案模板,性能测试方案模板
  19. POJ1511 ZOJ2008[Invitation Cards]
  20. 第六届全国计算机学科博士后论坛,大会 | 「2018 第六届全国计算机学科博士后论坛」今天召开,鹏城实验室博士后工作站挂牌...

热门文章

  1. 用DzzOffice管理阿里云OSS
  2. C# 3.X -- the newest features
  3. rj45带滤波器20/05的数字是什么意思_「手机维修自学教程」认识手机射频电路中的滤波器 维修技巧分析...
  4. 假设一个随机性和因果性的双重态
  5. STM32 进阶教程 9 - 芯片维一码(UID)读取
  6. u-boot分析之两阶段代码分析(三)
  7. DFTug Test_point
  8. 进程(process)和线程(thread)
  9. 驰骋工作流程底层的API开发接口-重要的
  10. 19道小米运维面试题