【问题标题】:RabbitMQ : Round robin distribution of messages with Topic exchange with single queueRabbitMQ:消息的循环分发与单队列的主题交换
【发布时间】:2020-03-31 11:39:38
【问题描述】:

RabbitMQ 是否在以下情况下轮询分发消息?

RabbitMQ 配置:

  1. 交换类型 - 主题
  2. 路由键 - 通知。#

生产者正在将消息推送到上面的交换中,并带有以下内容 不同的主题-

notify.log.#、notify.status.#、notify.priceChange.#

有 4 个消费者在不同的服务器上运行。

  1. 3 个消费者在负载均衡器下执行相同的处理并在同一应用程序的不同实例上运行。(他们希望消费生产者推送的每条消息)

    他们正在收听带有路由键 "notify.#" 的“notification_queue”。

  2. 剩余的第 4 个消费者正在做一些与前 3 个消费者不同的处理,并在不同的服务器(不同的应用程序)上运行。

    它正在侦听带有路由键 "notify.log.#" 的“log_queue”。

RabbitMQ 是否会以循环方式在前 3 个消费者中分发消息(在第 1 点)?

请帮忙。

【问题讨论】:

  • 是的,它是循环的,请注意,如果一个消费者挂起,其他消费者仍然会收到消息。所以这不是“公平调度”。但平均而言,随着时间的推移,他们应该收到相同数量的消息。

标签: rabbitmq


【解决方案1】:

确实如此,消费者来源的意义何在。当我们在同一个队列上有多个消费者时,分发是循环的,你可以在模拟器中试用http://tryrabbitmq.com/

【讨论】:

    猜你喜欢
    • 2011-12-29
    • 1970-01-01
    • 2016-08-13
    • 2011-09-03
    • 1970-01-01
    • 2013-08-09
    • 2011-02-05
    • 2011-07-17
    • 2014-08-01
    相关资源
    最近更新 更多