【发布时间】:2018-08-22 10:25:13
【问题描述】:
假设每次价格变化时我都需要将价格发布到给定的股票代码,而另一方面有订阅者(消费者)需要消费该价格。
这是典型的发布-订阅模式(而不是点对点)。如果有 N 个消费者,通常设置 N 个队列,并让发布者向 N 个队列中的每一个发布相同的消息吗?
我不知道如何仅使用一个队列来完成此操作,因为一旦单个消费者拿起每条消息就会消失(这是一个点对点模型)
【问题讨论】:
标签: message-queue publish-subscribe
假设每次价格变化时我都需要将价格发布到给定的股票代码,而另一方面有订阅者(消费者)需要消费该价格。
这是典型的发布-订阅模式(而不是点对点)。如果有 N 个消费者,通常设置 N 个队列,并让发布者向 N 个队列中的每一个发布相同的消息吗?
我不知道如何仅使用一个队列来完成此操作,因为一旦单个消费者拿起每条消息就会消失(这是一个点对点模型)
【问题讨论】:
标签: message-queue publish-subscribe
是的,消息传递通信系统要求每个客户排队。
如果客户观察到变化的事件,您需要为每个客户排队。 您将事件发布到某个消息代理。消费者来创建自己的队列。之后,消费者将自己的队列绑定到您的事件交换。只有这样,每个消费者才能到达并处理每个事件。
或者
您创建了一个消费者。该消费者消费事件并向每个客户发送通知请求。这种方式不可行,因为您必须知道每个客户及其端点地址才能接受通知。此外,您必须在集成等过程中处理错误。
【讨论】: