其他分享
首页 > 其他分享> > SpringBoot使用canal实现数据同步增量

SpringBoot使用canal实现数据同步增量

作者:互联网

canal简介

canal是阿里巴巴旗下的一款开源项目,纯Java开发。基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL(也支持mariaDB)。

canal 就是一个同步增量数据的一个工具

canal应用场景

基于日志增量订阅和消费的业务包括

当前的 canal 支持源端 MySQL 版本包括 5.1.x , 5.5.x , 5.6.x , 5.7.x , 8.0.x

  1. 将用户的订单信息传入后台。
  2.  后台服务器将订单信息保存到mysql数据库。
  3. 由 canal 进行监控mysql中的写操作变化,将发生修改(Insert) 的数据写入到kafka
  4. 通过sparkStreaming读取Kafka中的数据,进行计算。
  5. 将计算好的结果,重新写如到服务器中,并返回到浏览器

canal 除了写入kafka 还能将数据写入到其他中间件(mysql、elasticsearch、hbase等)

canal工作原理

MySQL主备复制原理:

canal 工作原理

canal 就像是一名"间谍",它伪装成了一个从机(slave),从主机(master)中骗取数据。拿到数据之后,再对数据进行解析,比如·只要新增的数据或者删除或修改的数据,并将数据重新进行包装,将数据重新写入到第三方服务中(mysql、Kafka、es等)。

SpringBoot使用canal

 

标签:canal,slave,log,增量,master,MySQL,数据,SpringBoot
来源: https://www.cnblogs.com/xfeiyun/p/16217666.html