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即可

浙公网安备 33010602011771号