パブリッシャが既知のエクスチェンジにメッセージを送信する必要があるシナリオがあります(ダウンストリームキューを直接認識しません)。ほとんどのメッセージは、(ファンアウトのように)すべてのバインドされたキューに配信される必要がありますが、一部は特定のバインドされたキューにのみ配信する必要があります。私は複数の交換や複数の待ち行列のボンドを避けたいと思います。RabbitMQ/AMQP Exchangeルーティング戦略
現在のソリューションでは、ヘッダールーティングが使用されています。メッセージには2つのヘッダーのいずれかがあり、「グローバル」または「特定のサブに固有」と識別されます。この場合、ダウンストリームキューは、ヘッダー。私はこれがうまくいくと思いますが、もっと簡単な解決法があるはずです。
「特定のメッセージを除くすべてのメッセージをファンアウトする」Exchangeプラグインを見つけようとしましたが、そのようなプラグインは見つかりませんでした。それ以外に、そのようなルーティング戦略を実装する方法に関するアイデアはありますか?
わからないあなたはdownvotedなっている理由が、私は、トピック交換のための最良の選択肢であると思うだろうこの。 – mshindal
@mshindal - その理由もわからない。正当なユースケースのための合理的な質問のように思えます(そして私はたくさんの研究をしました)。あなたの提案に関しては、クライアントごとに2つのキュー(「すべてのメッセージ」と「特定のメッセージ」)をバインドしない限り、トピック交換でこの作業を行う方法がわかりません。あなたが気にしていた2つの列はありますか? – eric