'publish-subscribe' 消息传递模式是否需要与消费者一样多的队列?

Does 'publish-subscribe' messaging pattern require as many queues as there are consumers?

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

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

我不明白如何只用一个队列来完成这件事,因为每条消息都会在单个消费者接收消息后立即消失(这是一种点对点模型)

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

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

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