如何仅使用主题名称(而不是订阅名称)订阅Google Cloud pubsub?

时间:2020-09-04 07:32:12

标签: javascript node.js google-cloud-platform publish-subscribe google-cloud-pubsub

我正在研究一个Nodejs项目,该项目将数据发布和订阅到Google Cloud Platform PubSub。目前,我正在通过提供订阅名称来订阅Google Cloud Platform PubSub。但是为了提高性能,建议我找到一种方法,使我们可以使用主题名称而不是订阅名称订阅PubSub主题。那么,有什么方法可以做到吗?

2 个答案:

答案 0 :(得分:0)

没有使用订阅不订阅主题的想法,因此在Google Cloud Pub / Sub中这样做并不会提高性能。订阅是表达对发布到主题的消息感兴趣的逻辑实体。它也是消息是否被确认的状态所附加的实体。这意味着,如果停止订阅者并重新启动它,则不会收到成功确认的消息。这也意味着每个主题都可以存在独立的订阅,每个订阅的订阅者将接收所有消息。因此,订阅对于Cloud Pub / Sub的运作方式至关重要。

答案 1 :(得分:0)

您不会通过听主题来加快速度! 相反,您会降低启动时间!

实际上,没有订阅,您无法从Pubsub接收消息。如果您直接订阅主题,则会创建一个新的订阅,然后开始收听消息。

如果您直接收听订阅,则不必创建订阅,并且可以更快地开始收听消息。

您真正需要回答的问题是:您的要求是什么?

  • 您是否要保留所有消息,即使您的应用程序关闭并且不收听订阅也是如此? ->在这种情况下,您必须创建一个订阅。在该主题中发布的所有消息都将转发到所有订阅(根据过滤器,如果适用),并且最多保留7天(默认情况下)。当然,当您开始收听订阅时,将处理所有消息,首先是旧消息,然后是新消息,或者是新旧消息的混合。默认情况下,Pubsub不保证订购(除非您已激活订购的邮件选项)
  • 您是否不关心过去,只想处理即时/实时/新消息? ->在这种情况下,请在应用启动时创建您的订阅。所有旧消息都不会出现,只有新发布的消息才会转发到新创建的订阅。