【消息队列】如何保证消息的顺序性

一、顺序错乱的场景

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 @ 2019-03-10 21:49  N!CE波  阅读(3348)  评论(0编辑  收藏  举报