【问题标题】:Does 'publish-subscribe' messaging pattern require as many queues as there are consumers?“发布-订阅”消息传递模式是否需要与消费者一样多的队列?
【发布时间】:2018-08-22 10:25:13
【问题描述】:

假设每次价格变化时我都需要将价格发布到给定的股票代码,而另一方面有订阅者(消费者)需要消费该价格。

这是典型的发布-订阅模式(而不是点对点)。如果有 N 个消费者,通常设置 N 个队列,并让发布者向 N 个队列中的每一个发布相同的消息吗?

我不知道如何仅使用一个队列来完成此操作,因为一旦单个消费者拿起每条消息就会消失(这是一个点对点模型)

【问题讨论】:

    标签: message-queue publish-subscribe


    【解决方案1】:

    是的,消息传递通信系统要求每个客户排队。

    如果客户观察到变化的事件,您需要为每个客户排队。 您将事件发布到某个消息代理。消费者来创建自己的队列。之后,消费者将自己的队列绑定到您的事件交换。只有这样,每个消费者才能到达并处理每个事件。

    或者

    您创建了一个消费者。该消费者消费事件并向每个客户发送通知请求。这种方式不可行,因为您必须知道每个客户及其端点地址才能接受通知。此外,您必须在集成等过程中处理错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-31
      • 2017-07-17
      • 2023-03-28
      • 1970-01-01
      • 2019-11-06
      • 2011-12-07
      • 2015-03-01
      • 1970-01-01
      相关资源
      最近更新 更多