RabbitMQのスイッチタイプ(C)

 

そのルートに応じて、プロセスに分割してRabbitMQのスイッチ、4つのタイプがあります。

彼らは、ヘッダ交換(ヘッドスイッチ)との直接交換(方向スイッチ)、ファンアウト取引(扇型スイッチ)、トピック所(テーマスイッチ)です

以下は、スイッチルートマップの4種類であると説明し、

 

直接交換(方向スイッチ):指定されたメッセージキューQ及びDスイッチキーを介して直接ルートと呼ばれ、ルーティングキーメッセージとRを送信するためにR、方向スイッチに結合されています場合D、Dは、分散キューQにメッセージ方向スイッチはルーティング鍵R.に従ってまします このモデルは1に似ています

 


 ファンアウト交換(ファン・スイッチ):メッセージは、セクタがスイッチFに送信された場合、その後Fファンスイッチは、メッセージキューFに送信されるすべてのバインディングメッセージを送信します ファンのスイッチをバインドする場合、経路メッセージにセクタスイッチは、すべてのメッセージ・キューに結合するように、すなわち、セクタのスイッチでないルーティング重要な役割、メッセージキューは、ルーティングキーが空であってもよいようにします。このモードは、放送に似ています。

 


トピック交換(テーマスイッチ):トピックスイッチはパブリッシュ/サブスクライブモデルを結合し、スイッチを介してルーティングメッセージキューの対象が鍵である、ダイレクトコネクト・スイッチとファンスイッチの特性を兼ね備えています。ルーティングキーメッセージとスイッチTに関連するルールを送信する場合、Tは、であってもよい、又はそれがNであってもよい(そのキューメッセージルーティングキーに結合したルールのルールに従うルーティングキーに応じてもよいスクリーニングしますそれが0)、ルート一致キーに応じて、それに対応するメッセージ・キューにメッセージを送信します。このモードは、マルチキャストに似て、ルールをメッセージルーティングのみトピックを切り替え、その後、ルーティングキーに一致したときにルーティングルールは、時間をテーマにスイッチキーバインドをルーティングするすべてのキューと一致した場合に、直接接続スイッチとして見ることができますこのテーマでファンスイッチスイッチとして見ることができます

 


 Headers Exchange(头交换机):头交换机类似与主题交换机,但是却和主题交换机有着很大的不同。主题交换机使用路由键来进行消息的路由,而头交换机使用消息属性来进行消息的分发,通过判断消息头的值能否与指定的绑定相匹配来确立路由规则。在头交换机里有一个特别的参数”x-match”,当”x-match”的值为“any”时,只需要消息头的任意一个值匹配成功即可,
当”x-match”值为“all”时,要求消息头的所有值都需相等才可匹配成功。虽然至今没有遇到过头交换机,但是还是建议各位同学去了解一下。

以上如有问题,欢迎指正

下一篇:PHP中RabbitMQ之amqp扩展实现(四)

下一篇:PHP中RabbitMQ之phpAmqplib实现(五)

 

おすすめ

転載: www.cnblogs.com/php-linux/p/11293881.html