MQ的消息顺序性

消息顺序乱的情境:

(1)rabbitmq:一个queue,多个consumer,消费的时候顺序就乱了
(2)kafka:一个topic,一个partition。一个consumer,在内部多线程进行消费,多线程消费的时候顺序没办法保证。

 

解决:

(1)rabbitmq:

  • 拆分多个queue,每个queue一个consumer,就是多一些queue而已,确实是麻烦点;
  • 一个queue但是对应一个consumer,然后这个consumer内部用内存队列做排队,然后分发给底层不同的worker来处理

(2)kafka:

一个topic,一个partition,一个consumer,内部单线程消费,写N个内存queue,然后N个线程分别消费一个内存queue即可

 

posted on 2018-05-26 10:49  HB1  阅读(1440)  评论(0)    收藏  举报

导航