2016-07-06 16 views
0

私はRabbitMQで 階層型ルーティングを行う方法を探しています。私はドキュメンテーションで答えを見つけようとしましたが、突然失敗しました。RabbitMQで交換交換を行うための適切なルーティングキー

一般的に、RabbitMQではいくつかのルーティングキーで直接交換に接続することができますが、私はいくつかの交換機間をどのようにルーティングできるかはわかりません。

たとえば、ルートキー「host1」との「ルート」交換と「ホスト1」の交換があるとします。そして私は自分のpidをルーティングすることによって 'host1'交換にバインドされたキューを持っています。 「host1.31261」のように、routing_keyを使用して「root」交換にメッセージを公開することはできますか?明らかに、それはまさにそのようには機能しませんが、異なる直接取引所を持つ複雑なルートを作る方法はありますか?

答えて

1

はい、あなたは、元とターゲットの両方のために、この結合

交換タイプは、任意のタイプにすることができため、ルーティングキーを含めることができ、この

ためexchange to exchangeバインディングを使用することができ、この

を行うことができますあなたは欲しい。複雑なルーティングのためのトピック交換が必要ですか?あなたの交換をトピックとして宣言してください。

でも、hostのトピック交換から直接またはファンアウト交換をターゲットにすることができます。

バインディングを行う前に、鍵は各交換を宣言する必要があるため宣言するだけです。

このドキュメントに示されている例には、javaと.netコードが含まれています。特定の言語で使用しているライブラリを確認する必要があります。

一般的に、キューの同じバインディングは交換のために機能します。あなたのライブラリがそれをサポートしていない場合は、RabbitMQ管理Webサイト経由でバインディングを手動で追加することができます。

関連する問題