关于发布订阅:是否存在发布订阅服务,发布者仅在有订阅者的情况下才将消息发送到给定主题?

Is there a Pub Sub service where publishers only send messages to a given topic if there are subscribers?

我正在寻找一个可伸缩的pub子集群,如果有订阅者,发布者可能只会将给定主题的消息发送到socketcluster?

原因是我所有的发布者都处理了许多主题的数百万条消息,这些消息很长一段时间都没有订阅者。因此,将所有内容发送到pub子群集在计算和价格上都是巨大的浪费。


PubSub旨在使订阅者和发布者脱钩。因此,您的请求是PubSub的反模式。

无论如何,如果您将消息发布到PubSub中并且没有订阅(我说的是"订阅"而不是"订阅者"),则该消息将被丢弃。您的发布者仍可以在处理消息之前检查主题是否存在订阅。无法进行订阅者检查。

如果有一个(或多个)订阅,则将消息发送给它(如果有多个订阅,则消息是重复的)。该消息在订阅中最多保留7天,但是您可以根据您的用例缩短此持续时间。顺便说一句,当订阅者将收听订阅时,它将只能接收和处理相关消息,而不能接收过旧的消息。