2016-07-27 8 views
1

RabbitMQの交流与えRabbitMQの中のすべての

  • 為替
  • 2というキューデフォルト特定
  • 2つのルーティングキーall.specificすべて。*
以下のスキーム

enter image description here

私が実装しようとルーティングキー「all.specific」とのメッセージが特定のにルーティングする必要があります到着した場合

  • (成功せずに)、以下キュー

  • ルーティングキー 'all.generic'のメッセージが到着した場合は、にルーティングする必要がありますデフォルトキュー

は、私はすべての「、私はルート「all.generic」することはできませんので、私は、ルーティングキーでワイルドカードを使用することはできません)交換タイプ「直接」

二つの異なるapproaces

1を試してみました.another_generic」および多くの他の着信メッセージ

2)交換タイプ 'トピック'

それルート 'all.generic'、 'D' のall.another_genericしかし、 'all.specific'は両方のキューに到着して、特定のキューにしか到達しないようにしたいのです。

私は間違ったやり方で交換や待ち行​​列を使用していると思いますが、これを右手に実装する方法を理解できません。 私を助けることができますか?

答えて

2

この最適なオプションは、バインディングとルーティングキーには表示されません。

代わりに代替取引が表示されます。 AEで

https://www.rabbitmq.com/ae.html

、あなたは基本的にそれが出版された交換でのバインディングのいずれかと一致しないすべてのメッセージと引き換え「全てを捕まえる」ことができます。

あなたのケースでは、all.specificバインディングのみがspecificキューにメッセージを送信することができます。

代替交換は、メッセージを直接genericキューに配信します。同じルーティングキーを再利用するために、これをトピックで行うことができます。またはファンアウト交換機として実行され、1つのキューのみがバインドされていることがあります。

関連する問題