栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

使用阿里Canal实现MySQL异构数据同步

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用阿里Canal实现MySQL异构数据同步

异构数据
解释:结构不同的数据叫做异构数据

1、耦合性强

这里我们如果修改了后台的数据,就需要把数据同步到全文检索引擎里面去,是相对被动的操作

2、扩展困难

二,异构数据的解决方案
解决方案:Canal
Canal是基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持Mysql

Canal可以做异步数据的同步工作

原理

这里我们把从库替换成Canal

这里Canal接收到主库的binlog日志后不会去执行,二十自动的触发指定的php或者java代码,然后实现向其他数据源的数据同步的工作。这里我们发现只是解决了数据的同步和监听的工作。没有解决解耦的问题。下面我们解耦可以使用消息队列

MQ消息队列起到的作用是消息的订阅和发布
可以使用消息队列作为数据的中转站,可以做数据和团队之间的解耦

对于MySQL我们这里配置了一个Canal对数据进行监听,在数据发生变化的时候,会生成发往MQ消息队列的消息,这里的消息根据操作SQL的不同,会产生不同的消息。这些消息会被放到MQ消息队列中。哪里需要这些变化的消息,就去订阅MQ消息队列,就会起到数据的同步和解耦。只要有新团队加入,并且使用这些消息,那么就去订阅MQ消息队列就可以了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/310455.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号