总的来说有两种方案
本文把两种方式都实现下。如果公司有统一的平台接入binlog的话,canal+mq应该是比较好的解耦的方式。
pom依赖
CanalClientMysql2Redis
RocketmqMysql2Redis
官方文档有给出顺序性的说明 https://github.com/alibaba/canal/wiki/Canal-Kafka-RocketMQ-QuickStart
在上面的配置中,我使用的是canal.mq.partition=0,是单分区(rocketmq中应该叫consume queue), 看下控制台可以看到全是发送到queue=0的消费队列
1、首先,你要有一个业务层和一个数据访问接口层和数据层(后两层可以合并),业务层中有数据 *** 作时同时 *** 作其它两层的数据,只有同时成功了才提交事务。这样可以确保数据一致。2、设计和实现一个数据同步工具,我实现了一个SQL Server和Oracle之间数据同步的工具,利用一个定义表(主键,字段,表名,同步标识等)和DataSet做中转,能够将两个数据库中需要同步的表同步成相同的内容,你可以根据要求指定同步周期。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)