首页 > 解决方案 > Google PubSub 侦听器冻结

问题描述

我遇到了使用拉取冻结 Google PubSub Node.js 侦听器的问题。

我使用以下流程:

1. PubSub client is created,
2. Subscription is fetched from the specified topic
3. Listeners are attached to "message" and "error" events.

一开始它会拉出大约 500 条消息并确认它们,但之后它就挂起,队列中有超过 1000 条消息。我尝试过定期重新初始化侦听器(removeListener/on),但它只获取很少的消息。重新启动应用程序后,它会拉大约 500 次,同样的情况也会发生。

标签: node.jsgoogle-cloud-pubsub

解决方案


尝试检查您的FlowControl设置,它可能会限制订阅者接收消息的数量和速率。此外,如果您不确认或不确认收到的消息,它们将计入未完成消息的总数。一旦达到maxMessages限制,订阅者将不会再收到消息,直到未完成的消息被 acked 或 nacked(或过期并最终将在maxExtension期后重新发送)。

欲了解更多信息:https ://cloud.google.com/pubsub/docs/pull#subscriber-flow-control-nodejs


推荐阅读