如何随机化RabbitMQ中的消息顺序?

时间:2016-04-19 12:31:50

标签: rabbitmq

假设我有m条消息在队列中,我有n条消息需要发布。如何以随机顺序在队列中插入n条消息而不是附加到队列末尾?换句话说,我怎样才能使用rabbitMQ进行洗牌?

2 个答案:

答案 0 :(得分:3)

没有内置的方法来随机化队列中的消息顺序。但是,RabbitMQ支持优先级队列,您可以在其中设置消息的优先级(0到255之间),优先级最低的消息将首先被消耗。您可以为每条消息指定一个随机优先级,它会为您提供队列的伪随机化。

RabbitMQ Documentation

答案 1 :(得分:1)

  

如何使用rabbitMQ进行随机播放?

你不能。至少不是直接在RabbitMQ中。

RMQ中的所有队列都是FIFO - 先进先出。消息放入队列的顺序是它们将被传递给消费者的顺序。

如果要随机化消息放入队列的顺序,则必须从消息生产者的代码中执行此操作。