消息队列消息顺序性
消息队列消息顺序性
rabbitmq
顺序错乱场景
原本数据应该是数据1、数据2、数据3的顺序存储到库里,但是消费者对数据2操作优先了。导致消息的数据错乱存储入库
如何解决顺序性
如果存在多个消费者,那么每个消费者分别一个queue ,这样每个消费者消费的queue里就有顺序了
Kafka
顺序错乱场景
1个partition 对应一个消费者,那么消费者中开多个线程去消费数据,那么就会出现消息错乱
(4个消费者,3个partition的话,那么肯定有一个消费者是没消费的)
如何解决顺序性
消费者如果使用单线程去消费消息,那么1秒钟的处理请求大概几十条左右,吞吐量不高, 还是需要多线程来消费的话,就需要在接收后进行增加内存队列,通过某个线程去处理一连串的数据,达到顺序性