2013-02-26 32 views
2

在試圖理解直接,扇出和主題交換之間的區別時,我想確認主題交換的優點是生產者推送到交換並指定完全特定的路由密鑰,並且隊列可以綁定到多個路由密鑰通過通配符。例如話題推到...話題交換是唯一支持通配符的交換嗎?

$channel->basic_publish($msg, 'logs-exchange', 'error.critical.ram') 

這將消息待命小組對所有關鍵錯誤將結合就像一個隊列......

$channel->queue_bind('on-call-team', 'logs-exchange', 'error.critical.*') 

而且類似的隊列error.*.ram會消息負責增加內存的管理員隊伍。

這是主題交換的正確用例,而主題交換是唯一可以支持這種靈活性的交換嗎?相反,主題交換和粉絲交流是通過話題交換來實現的嗎?

回答

1

這是正確的用例的話題交換,

是爲這種交流完全正確的用法。你會發現它非常強大

並且話題交換是唯一可以支持這種靈活性的交換嗎?

是的,類似的直接交換將不支持通配符,所以當綁定到它時必須指定完整的路由鍵,否則它將不會接收消息。有可能使用的話題交流,基礎,但我不認爲一個人的副手

相反都是話題,扇出的交流通過一個話題交換可實現自定義消息?

我不確定你在這裏的意思。是的,您可以使用相同的綁定密鑰將多個隊列的綁定綁定到交換機上,因此它們都會收到相同的消息。但是如果你不需要這個功能,那麼你也可以使用扇出交換本身。

此外,我有一個扇出交換,這是綁定到一些隊列和話題交換。此交換的發佈者使用路由密鑰,即使它不需要進行扇出交換,也需要將其路由到主題交換。這很好,因爲它對粉絲沒有任何影響,導致我們對主題交換造成問題