2020-12-25:MQ中,如何保证消息的顺序性?

2020-12-28 11:35:53 浏览数 (2)

福哥答案2020-12-25:

稍微详细的答案:

生产者保证消息入队的顺序。

MQ 本身是一种先进先出的数据接口,将同一类消息,发到同一个 queue 中,保证出队是有序的。

避免多消费者并发消费同一个 queue 中的消息。

RabbitMQ:创建多个 queue,每个消费者固定消费一个 queue 的消息。或者,一个 queue 但是对应一个 consumer,consumer内部用内存队列做排队,分发给不同的worker。

Kafka:线程处理前增加个内存队列,每个线程只负责处理其中一个内存队列的消息。

RocketMQ:同一个任务的 binlog 进入到同一个 MessageQueue 中就可以了,MessageQueue内是有序的。


评论

0 人点赞