栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

MySQL的异构数据同步

MySQL的异构数据同步

前言

当MySQL操作完数据后如果将数据同步到ElasticSearch中,或者还要同步到MongoDB中,而且操作MySQL和ElasticSearch和MongoDB的分属于多个部门应该怎么办,如果采用调用别的部门的api来进行ElasticSearch和MongoDB的异构数据同步,肯定会增加沟通成本的和Bug产生的几率,所以我们需要一种别的方式来解决MySQL的异步数据同步。

解决方案 一.采用阿里canal来进行异构数据同步

当MySQL执行一条sql语句后,会在binlog中记录下本次执行的sql语句,canal就会监听到执行的sql语句,并调用已经写好的向ElasticSearch或MongoDB中添加数据的Java代码,从而实现MySQL的异构数据同步。


使用了canal之后很方便的解决异构数据同步的问题,但不能很好地解决多个部门之间解耦的问题,所以还是需要别的方式来解决多个部门之间解耦的问题。

二.采用消息队列来进行异构数据同步


我们可以在多个数据库之间新增一个消息队列,当MySQL的数据发生变化时,向消息队列发送一个数据变化的消息,而订阅这个消息队列的其他数据库收到数据变化的消息后就可以修改自身的数据,这样既可以保证异构数据的一致性,同时也可以保证多个部门之间的解耦。

结尾

如果担心消息队列的方式会造成数据的丢失,可以在每天进行一个日终任务,通过扫描的方式同步数据。

感谢观看,如果对你有帮助请点个赞,谢谢。

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

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

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