不在RabbitMQ上使用默认exchange的原因?

不在RabbitMQ上使用默认exchange的原因?,rabbitmq,rabbitmq-exchange,Rabbitmq,Rabbitmq Exchange,我已经开始使用RabbitMQ,我的用例非常简单——生产者将消息放在队列中,由消费者处理。每个消息最多由一个消费者处理,消息根据队列名称从生产者定向到消费者 Directexchange似乎非常适合这种情况,而defaultexchange是一种Directexchange 是否有任何理由(绩效、管理、许可等)不使用默认值交换并创建自己的交换?例如,我将使用高可用性队列(),并且不确定如果所有HA队列都位于默认exchange而不是其他exchange上,是否会对群集产生负面影响?使用默认exc

我已经开始使用RabbitMQ,我的用例非常简单——生产者将消息放在队列中,由消费者处理。每个消息最多由一个消费者处理,消息根据队列名称从生产者定向到消费者

Direct
exchange似乎非常适合这种情况,而
default
exchange是一种
Direct
exchange


是否有任何理由(绩效、管理、许可等)不使用
默认值
交换并创建自己的交换?例如,我将使用高可用性队列(),并且不确定如果所有HA队列都位于
默认
exchange而不是其他exchange上,是否会对群集产生负面影响?

使用默认exchange,您将获得性能,因为几乎不涉及路由逻辑,但是你最终会把你的发布者和你的消费者联系起来,这在消息传递中有点反模式


同时,如果您关心的是性能,我怀疑RabbitMQ的路由性能将是您遇到的第一个问题。在HA的情况下,队列分页、网络上的队列同步等等,似乎是我在考虑性能时会担心的事情。

谢谢。我并不担心性能本身(这只是一个例子),但如果我想要直接路由,有任何好的理由不使用默认的exchange,我会更加担心。例如,我最近发现默认的exchange和federation存在一些限制,我认为没有理由使用Deafolt exchange,除非您正在执行类似RPC的操作