2016-04-19 16 views
0

キューにm個のメッセージがあり、n個のメッセージを公開する必要があるとします。キューの最後に追加する代わりに、n個のメッセージをランダムな順序でキューに挿入するにはどうすればよいですか?言い換えれば、私はシャッフルするためにrabbitMQを使うことができますか?RabbitMQでのメッセージの順序をランダム化するにはどうすればよいですか?

+0

キューを必要としないように思えます。 – idbehold

+0

まあ、私は特別なユースケースriro、random in、random out – msong

+2

を持っています。それは定義上はキューではありません。 – idbehold

答えて

1

シャッフルにはどのようにrabbitMQを使用できますか?

できません。 RabbitMQ内ではなく、直接、少なくとも。

RMQのすべてのキューは、先入れ先出し方式です。メッセージがキューに入れられる順序は、メッセージがコンシューマに配信される順序です。

メッセージがキューに入れられる順序をランダム化する場合は、メッセージプロデューサのコードから行う必要があります。

2

キュー内のメッセージの順序をランダム化する方法はありません。ただし、RabbitMQは優先度キューをサポートしています。優先度キューでは、メッセージの優先度(0〜255)を設定でき、優先度が最も低いメッセージが最初に消費されます。各メッセージにランダムな優先度を指定すると、キューの疑似ランダム化が可能になります。

RabbitMQ Documentation

関連する問題