Canal框架应用的基础学习

引入背景原理:业务情景
其中在这里插入图片描述
其中,MySQL与ES存储的数据结构是完全不同的,也即异构数据(异构数据指的结构不同的数据)。异构数据也会伴随着组织与结构的不同,比如前台与后台的划分。如果商户中新增数据,传统的做法一般就是在Java代码中新增MySQL数据时向调用团队B同步接口新建ES商品数据,这里往往涉及到多团队协作。这时,工作中会产生强烈的耦合现象。团队A与团队B的协作产生代码的强耦合。团队A必须了解团队B提供的结构才可以实现,但本身这并不属于团队A的工作范畴。同时,会有扩展困难的问题。比如团队C维护的MongoDB也要同步MySQL数据库,难道团队A又要改代码?
引出目标:要保证数据做到准实时同步,还要团队之间解耦,团队A不再背锅
Canal是阿里巴巴旗下的一款开源的项目,纯Java开发。基于数据库增量日志解析,提供增量数据订阅与消费,目前主要支持了MySQL,也支持mariaDB。
canal的简单原理:
引入主从复制
在这里插入图片描述
canal的工作原理:
在这里插入图片描述
从库用阿里的canal中间件进行替换
通过Canal解决了数据监听的问题,下面要解决解耦的问题
引入消息队列
在这里插入图片描述
MQ消息队列的职责是消息的订阅与发布
参考资料:
B站传送

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值