美文网首页
Question2.数据同步产生的不一致

Question2.数据同步产生的不一致

作者: 王侦 | 来源:发表于2021-11-04 16:22 被阅读0次

1.业务场景

小猛同学在某公司的大数据部门,现在要做一个高并发的同步系统,把某个业务的数据同步到自己的系统中,然后在做各种复杂的操作后提供接口给其他部门查询,每天日同步数据要达到上千万级别。

整个数据同步前期流程是从一个 mysql 库原封不动地同步到另一个 mysql 库里面去(mysql -> mysql)。

小猛同学初步架构设计是:从一个mysql监听到binlog后发送消息到MQ中,另外一个服务在消费MQ中的数据写到自己的库中,但是现在存在一个问题。

多个业务系统执行sql往mysql 里增删改对应的数据,但是小猛发现自己这边库的数据有时候跟业务方的库数据不一致。

问题:大家思考上面问题产生原因,如何去解决上面的技术问题?

2.解决方案

其他汇总方案:

1、小猛同学是使用的RocketMQ,在监听binlog的服务中发送消息到RocketMQ的时候,一条数据的增删改路由到同一个messagequeue中保证消息的顺序性;

2、A同学会问:如何解决监听到binlog后发送消息到RocketMQ的失败问题呢? 答:发送消息时重试、多次重试失败后,提供兜底补偿方案

3、B同学会问:发送binlog01、binlog02,01发送失败重试,02发送成功到时无序怎么办?答:修改MQ的配置,需要等消息01发送成功后才能发送02;或者修改binlog为row模式,不使用insert update delete等逻辑上的binlog

4、C同学会问:如何保证MQ中的消息不丢失?答:RocketMQ的master、slave高可用,基于一致性算法raft来写commitlog

5、D同学会问:如何保证消费messagequeue时消息的有序性?答:单线程消费;如何提升系统性能?答:单线程消费后,路由到队列中,在每个队列一个线程消费。如何解决数据丢失问题?答:ack机制、优雅停机

6、E同学会问:消费方执行本地落库的事务成功了,但是ack的时候失败,有重复消费怎么办? 答:在消费方来保证幂等

7、F同学会问:为啥要单独在搞个MQ直接用同步工具不就好了吗?答:比如alibaba otter、离线dataX、kettle等

8、补充说明:整个数据同步过程中,还是需要定期的比对数据;定期的全量同步数据;

相关文章

  • Question2.数据同步产生的不一致

    1.业务场景 小猛同学在某公司的大数据部门,现在要做一个高并发的同步系统,把某个业务的数据同步到自己的系统中,然后...

  • Syncer数据同步

    使用Syncer数据同步遇到的问题: syncer版本: syncer报错日志: 同步出现了两边表结构不一致的问题...

  • 《Effective Java》读书笔记 —— 并发

    1.同步访问共享的可变数据 同步:同步不仅可以阻止一个线程看到对象处于不一致的状态之中,还可以保证进入同步方法或者...

  • 03-MongoDB集群运维-NTP时间同步

    背景 使用 NTP时间同步操作,避免出现因时间不一致导致集群间数据同步问题 NTP时间同步 测试NTP常用服务器是...

  • 2020-03-08 补偿任务死循环

    背景 由于数据同步链路太长,偶尔出现数据不一致的bad case,为了解决该问题,添加了全量数据的补偿任务,即分批...

  • docker容器卷技术讲解

    docker 容器中产生的数据,同步到本地,卷基础;目录的挂载, 容器的持久化,和同步操作,容器间可以数据共享。 ...

  • 容器卷,docker

    docker 容器中产生的数据,同步到本地,卷基础;目录的挂载, 容器的持久化,和同步操作,容器间可以数据共享。 ...

  • Centos7.6利用脚本实时备份

    实时同步需求 存储服务器有新数据产生就进行同步 如何发现指定目录中有数据变化 存储服务器要进行数据传输同步 ...

  • iOS多线程学习小记『GCD的API之Dispatch Sema

    3.2.11 Dispatch Semaphore 如前所述,当并行执行的处理更新数据时,会产生数据不一致的情况,...

  • 【MyBatis】MyBatis 一级缓存

    如果数据库中的数据和一级缓存中的数据不一致了,那mybatis如何做到同步的呢?mybatis当调用了sqlses...

网友评论

      本文标题:Question2.数据同步产生的不一致

      本文链接:https://www.haomeiwen.com/subject/ztskzltx.html