canal实现mysql数据实时同步es
前言
canal是阿里开源的一款用于同步mysql数据到其他数据存储的中间件,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费
在搭建mysql服务器主从同步的时候,我们知道,备份服务器如果需要同步master的数据,其底层实现原理是salve监听master的bin_log日志文件,而canal的实现借用了这一思想,将自己的服务伪装成slave服务监听bin_log,从而将监听到的master服务器的数据同步到自己的消息管道,然后再输送给特定的其他数据存储服务器
借用官方的一张图,原理如下图所示,canal经过了多个版本的迭代,支持的同步数据中间件越来越多,比如es,hbase等,实际可以根据业务需求进行选择使用,可参阅官方wiki:https://github.com/alibaba/canal/wiki
工作原理
- canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送 dump 协议
- MySQL master 收到 dump 请求,开始推送 binary log 给 slave (即 canal )
- canal 解析 binary log 对象(原始为 byte 流)
canal实现mysql数据实时同步es相关推荐
- canal 实现mysql 数据实时同步
https://github.com/alibaba/canal 文章目录 一.工作原理: 二.准备工作: 三.启动canal server(以docker为例) 四.创建client 1.clien ...
- binlog流程 mysql_小米 MySQL 数据实时同步到大数据数仓的架构与实践
背景MySQL由于自身简单.高效.可靠的特点,成为小米内部使用最广泛的数据库,但是当数据量达到千万/亿级别的时候,MySQL的相关操作会变的非常迟缓:如果这时还有实时BI展示的需求,对于mysql来说 ...
- 小米 MySQL 数据实时同步到大数据数仓的架构与实践
背景 MySQL由于自身简单.高效.可靠的特点,成为小米内部使用最广泛的数据库,但是当数据量达到千万/亿级别的时候,MySQL的相关操作会变的非常迟缓:如果这时还有实时BI展示的需求,对于mysql来 ...
- 小米技术分享:Mysql数据实时同步实践
背景 MySQL由于自身简单.高效.可靠的特点,成为小米内部使用最广泛的数据库,但是当数据量达到千万/亿级别的时候,MySQL的相关操作会变的非常迟缓:如果这时还有实时BI展示的需求,对于mysql来 ...
- mysql 数据实时同步至sql server
方式一 使用mysql插件udf 下载 mysqludf https://github.com/mysqludf/lib_mysqludf_sys 编译适合当前内核的源码 把lib_mysqludf_ ...
- Mysql数据实时同步实践
关于小米内部使用的数据库你知道多少?(文末有福利) 往期文章回顾:Flink流式计算在节省资源方面的简单分析 背景 MySQL由于自身简单.高效.可靠的特点,成为小米内部使用最广泛的数据库,但是当数据 ...
- oracle和mysql数据实时同步_异构数据源的CDC实时同步系统——最终选型实战
引言: <异构数据源的CDC实时同步系统> 系列第一篇 (已完成) <零编码打造异构数据实时同步系统--异构数据源CDC之2> 系列第二篇(已完成) <零编码打造异构数据 ...
- mysql数据实时同步:Canal安装部署、kafka安装、zk安装、mysql安装、Canal Server+Canal Client HA,Canal+mysql+Kafka,相关验证(学习笔记)
目录 Canal安装部署 1.1. 服务器准备 1.2. 设置主机名并配置hosts 1.3. 免密设置 1.4. 设置ntp时间 1.5. 关闭防火墙 1.6. 关闭selinux 1.7. 安装J ...
- Mysql 数据实时同步hbase
一.前言 要实时同步数据,首先要能实时的监控到数据库数据的变化,可以使用canal.Maxwell 等工具完成.我选用canal,因为它更灵活,更合格我的项目需求. 二.通过canal监控数据库数据变 ...
最新文章
- Kafka主题体系架构-复制、故障转移和并行处理
- superset的安装和使用--docker
- SQL 与oracle数据同步之 链接服务器
- php168站内统计,PHP168整站系统0DAY
- python anova_anova_lm()python:它适用于哪种模型类型?
- OpenCV学习笔记之掩码操作
- C 语言,你真的懂递归了吗?
- 由二分查找算法学习算法的时间复杂度
- 5款WordPress推荐文章幻灯片插件
- java内部邮件系统_java 图形界面 邮件系统
- Python工作笔记003---正则中的re.I re.M_以及m.group和m.groups的解释
- Python不使用int()函数把字符串转换为数字
- Reveal查看任意app的高级技巧
- java异常机制throwable
- [Houdini 程序化生成] 基于UV的生成工具
- Android国家区号 中英文
- 软硬一体的算法实践,阿里云如何以算法实现场景 “再创新”?
- python爬房源信息_python爬虫获取链家二手房源信息
- oracle让电脑变卡以及解决方法
- 零钱兑换(完全背包)