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

时间:2020-07-13 22:19:05

标签: publish-subscribe google-cloud-pubsub apache-pulsar emq socketcluster

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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