2015-10-09 26 views
2

我已經開始使用RabbitMQ,我的用例非常簡單 - 生產者將消息放入隊列以供消費者處理。每個消息至多由一個消費者處理,並且消息根據隊列名稱從生產者到消費者被引導。在RabbitMQ上不使用默認交易所的原因?

Direct交易所似乎對此完全正常,而default交易所是direct交易所。

是否有任何原因(性能,管理,許可等)不使用default交換並創建自己的交換?例如,我將使用高可用性隊列(https://www.rabbitmq.com/ha.html),如果所有HA隊列都在default交換機上而不是其他交換機,則不確定是否會對羣集造成任何負面影響?

回答

1

由於幾乎沒有路由邏輯涉及到默認交換,所以您獲得了性能,但是最終會將發佈者耦合到消費者,這在消息傳遞中是一種反模式。

同時,如果您關心的是性能,我懷疑RabbitMQ的路由性能是您遇到的第一個問題。隊列分頁,HA等情況下通過網絡進行隊列同步等等,似乎是我在關心性能時會擔心的事情。

+0

謝謝。我並不擔心性能本身(這僅僅是一個例子),但更多的是,如果我想要直接路由,如果沒有任何好的理由不使用默認交換機。例如,我最近發現,默認交換和聯合會有一些限制。 – user783836

+0

我沒有看到使用deafult exchange的理由,除非你正在做一些像RPC –