Google PubSub:重试 n 次后丢弃 nacked 消息

Google PubSub: drop nacked message after n retries

有没有办法配置拉式订阅,使得导致错误并 nacked 的消息被重新排队(并重新传送)不超过 [=11] =]次?

理想情况下,如果最后一次处理也失败了,我想处理这种情况(例如,记录此消息已交由处理并将被丢弃)。

或者可能会发现,收到的消息之前尝试处理了多少次?

我用node.js。我可以在源代码中看到很多不同的选项,但我不确定我应该如何实现所需的行为。

目前,在 Google 云 Pub/Sub 中无法自动删除重新发送指定次数的消息。一旦该消息的保留期限已过(默认情况下为 7 天),该消息将停止传递。同样,Pub/Sub 不会跟踪或报告消息的发送次数。

如果您想处理这些类型的消息,您需要维护一个由消息 ID 键入的持久存储,您可以使用它来跟踪传递计数。如果传递计数超过您想要的阈值,您可以将消息写入您用作死信队列的单独主题,然后确认原始消息。

Cloud Pub/Sub 支持 Dead Letter Queues,可用于在可配置的重试次数后丢弃 nacked 消息。