【问题标题】:When to use Which Exchange in RabbitMQ?何时在 RabbitMQ 中使用哪个 Exchange?
【发布时间】:2020-05-20 08:03:19
【问题描述】:

我已经阅读了很多关于 RabbitMQ 交换的文章。 但是我找不到任何有用的文章来解释每个交易所的用例。 他们只是在说

Direct Exchange - 绑定键和路由键应该相同。

主题交换 - 路由键应与绑定键的路由模式匹配。

Fanout Exchange - 绑定到该特定交换的所有队列都会收到消息。

标头交换 - 标头应与键匹配。

谁能详细解释一下它的每个交换和用例?

【问题讨论】:

    标签: rabbitmq


    【解决方案1】:

    嗯,要使用的交换类型的选择很大程度上取决于您的用例,您有责任选择最适合您的交换类型。

    这里有一些例子:

    1. 假设您想要一个广播(您有多个应该接收消息的应用程序实例)。例如,系统中发生了一些事情(资源变得可用,缓存应该失效,你给它命名)并且你希望所有实例都知道它。那么您的第一个赌注将是使用扇出交换。

    2. 另一个例子。您希望单播:发送一条消息并且您有多个消费者,但您希望只有一个消费者会收到一条消息并尝试处理它。在这种情况下,您不能使用扇出式交换,而是选择其他类型的交换(例如直接交换)。

    总而言之,我相信您应该有兴趣阅读 this article,它描述了相当丰富的 amqp 协议的各种概念,并提供了不同类型交换的用例示例。

    【讨论】:

      猜你喜欢
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 2017-06-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-02
      • 2013-07-19
      相关资源
      最近更新 更多