一、順序錯亂的場景
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即可