16

rabbitMQ 交換を最適に構成する方法についてアドバイスを求めています。

ラウンド ロビン方式でトピック交換を使用しようとしています。各コンシューマーには、トピック交換に接続された独自の (一意の) 名前付きキューがあります。「同じ」トピックの各コンシューマーキューにラウンドロビンメッセージを交換することを希望します-*.logたとえば。

複数の組み合わせを試しましたが、コンシューマ キューに同時にメッセージを配信できるようにしか思えません。これは、各コンシューマで 1 回ずつ、メッセージを 2 回処理していることを意味します。

明確にするために、消費者を「制御」するために使用するファンアウト交換もあります(開始、停止など)。これは、どのような結果でもそのままにしておく必要があります。

述べられた結果を達成するための最善の方法についてのガイダンスは素晴らしいでしょう。

4

1 に答える 1

15

各コンシューマーには、トピック交換に接続された独自の (一意の) 名前付きキューがあります

トリックは、名前付きキューをセットアップするためにラウンドロビンするすべてのワーカー/コンシューマーを持ち、独自のキューを作成する代わりにすべて同じキューを使用することです。

したがって、すべての「ログ」ワーカーに対して「ログ」という名前のキューを作成できます。すべての「foo」ワーカーに対して、「foo」などの別の名前のキューを作成します。リクエストは、同じキューを参照しているすべてのコンシューマーにラウンド ロビンで配信されます。

于 2013-09-18T22:51:49.477 に答える