【问题标题】:Google PubSub: drop nacked message after n retriesGoogle PubSub:重试n次后丢弃已确认的消息
【发布时间】:2018-11-05 16:26:23
【问题描述】:

有没有办法以导致错误并nacked的消息重新排队(并因此重新发送)不超过n 次的方式配置拉订阅?

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

或者也许可以查出,收到的消息之前尝试处理了多少次?

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

【问题讨论】:

    标签: node.js google-cloud-pubsub flow-control


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      目前,Google Cloud Pub/Sub 无法自动丢弃重新传递了指定次数的消息。一旦该邮件的保留期限已过(默认为 7 天),该邮件将停止发送。同样,Pub/Sub 不会跟踪或报告消息的传递次数。

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

      【讨论】:

      • 是的,我考虑过为此目的使用redis。好的,那么对我们来说临时快速合适的解决方案将是第一次丢弃(总是 ACK)。可能以后我们会使用redis来达到最佳效果。
      猜你喜欢
      • 1970-01-01
      • 2019-07-02
      • 2021-06-18
      • 1970-01-01
      • 1970-01-01
      • 2020-08-08
      • 2021-07-26
      • 2018-01-01
      • 2018-05-20
      相关资源
      最近更新 更多