22

実行する必要がある一連のプロセスがあり、各ステップが実行され、独立したアプリケーションでスケーリングされるシナリオがあります。私はすべての交換にトピック交換を使用しています。現在のトポロジは次のようなものです。

P -> X -> Q -> C/P -> X -> Q -> C

メッセージ構造に影響を与える可能性のある要件の変更に対処するために、キューを「バージョン管理」しています。バインディングは次のようになります。

バインディング キー step1.v1 で step1.v1.queue にバインドされた step1.exchange

バインディング キー step1.v2 で step1.v2.queue にバインドされた step1.exchange

トピック交換を適切な選択にする、バージョンに関連しない他のバインディング パターンもあります。ただし、同じことを達成するために 1 つの取引所だけを使用することで問題を解決できます。

TLDR: ユースケースがどちらの方法でも機能する場合、1 つのトピック交換ではなく複数のトピック交換を使用する利点はありますか?

4

2 に答える 2

6

「RabbitMQ を使用したパフォーマンスとスケーラビリティのためのルーティング トポロジ」をご覧くださいhttp://blog.springsource.org/2011/04/01/routing-topologies-for-performance-and-scalability-with-rabbitmq/

于 2012-07-23T10:14:13.410 に答える