主要思路有两种:1、单线程消费来保证消息的顺序性;2、对消息进行编号,消费者处理时根据编号判断顺序。 1、rabbitMq问题分析:如图,data1 和 data2 是有顺序的,必须 data1 先执行,data2 后执行;这两个数据被不同的消费者消费到了,可能 data2 先执行,data1 ...
或者:如何保证从消息队列里拿到的数据按顺序执行 解决方案的关键是在消费者消费之前,将有相关性的数据按顺序写入同一个队列 queue或者是内存队列 rabbitMQ 中,有个默认是数据 进入一个queue并且只会被一个消费者消费 场景: queue对多consumer 三个消息按顺序写进了 个queue,但是这个queue对应了三个consumer,最终插入DB的顺序错乱了,原本是增删改,可能最后变 ...
2020-02-29 23:58 0 1095 推荐指数:
主要思路有两种:1、单线程消费来保证消息的顺序性;2、对消息进行编号,消费者处理时根据编号判断顺序。 1、rabbitMq问题分析:如图,data1 和 data2 是有顺序的,必须 data1 先执行,data2 后执行;这两个数据被不同的消费者消费到了,可能 data2 先执行,data1 ...
主要思路有两种:1、单线程消费来保证消息的顺序性;2、对消息进行编号,消费者处理时根据编号判断顺序。 1、rabbitMq问题分析:如图,data1 和 data2 是有顺序的,必须 data1 先执行,data2 后执行;这两个数据被不同的消费者消费到了,可能 data2 先执行,data1 ...
问:如何保证消息的顺序性? 面试官心理分析 其实这个也是用 MQ 的时候必问的话题,第一看看你了不了解顺序这个事儿?第二看看你有没有办法保证消息是有顺序的?这是生产系统中常见的问题。 面试题剖析 我举个例子,我们以前做过一个 mysql binlog 同步的系统,压力还是非常大的,日同步 ...
1.为什么要保证顺序 消息队列中的若干消息如果是对同一个数据进行操作,这些操作具有前后的关系,必须要按前后的顺序执行,否则就会造成数据异常。举例: 比如通过mysql binlog进行两个数据库的数据同步,由于对数据库的数据操作是具有顺序性的,如果操作顺序搞反 ...
一、顺序错乱的场景 1)rabbitmq:一个queue,多个consumer 2)kafka:一个topic,一个partition,一个consumer,内部多线程 二、那如何保证消息的顺序性 1)rabbitmq:拆分多个queue,每个queue一个 ...
顺序会错乱的俩场景: RabbitMQ:一个 queue,多个 consumer。比如,生产者向 RabbitMQ 里发送了三条数据,顺序依次是 data1/data2/data3,压入的是 RabbitMQ 的一个内存队列。有三个消费者分别从 MQ 中消费这三条数据中的一条,结果消费者2先 ...
面试题 如何保证消息的顺序性? 面试官心理分析 其实这个也是用 MQ 的时候必问的话题,第一看看你了不了解顺序这个事儿?第二看看你有没有办法保证消息是有顺序的?这是生产系统中常见的问题。 面试题剖析 我举个例子,我们以前做过一个 mysql binlog 同步的系统,压力还是非 ...
RabbitMQ RabbitMQ消息顺序错乱的场景:数据1、2、3按顺序发到一个queue,多个消费者消费同一个queue 拆分为多个queue,每个queue由一个consumer消费; 或者就一个queue但是对应一个consumer ...