【问题标题】:Reasons to not use the default exchange on RabbitMQ?不在 RabbitMQ 上使用默认交换的原因?
【发布时间】:2016-01-07 03:56:26
【问题描述】:

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

Direct 交换似乎非常适合这个,default 交换是 direct 交换。

是否有任何理由(性能、管理、许可等)不使用 default 交换并创建自己的交换?例如,我将使用高可用性队列 (https://www.rabbitmq.com/ha.html),但不确定如果所有 HA 队列都在 default 交换而不是不同的交换上,是否会对集群产生任何负面影响?

【问题讨论】:

    标签: rabbitmq rabbitmq-exchange


    【解决方案1】:

    使用默认交换可以获得性能,因为几乎不涉及路由逻辑,但最终会将发布者与消费者耦合,这在消息传递中有点反模式。

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

    【讨论】:

    • 谢谢。我并不担心性能本身(这只是一个例子),但如果我想要直接路由有任何充分的理由不使用默认交换,则更担心。例如,我最近发现默认交换和联合存在限制。
    • 我没有理由使用默认交换,除非您正在执行类似 RPC 的操作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-29
    相关资源
    最近更新 更多