使用 Google Pub/Sub 时如何处理 'poison pill' 消息?

How do I deal with 'poison pill' messages when using Google Pub/Sub?

例如,当使用 Amazon 的 SQS 时,我可以定义一个死信队列 (DLQ),其中任何在 X 次重试后未能删除(确认)的消息将被路由到单独处理..但是它Google Cloud Platform 我没有看到任何提及

Google Cloud Pub/Sub 当前没有任何自动死信队列。如果您担心 "poison pill" 条消息,您必须自己在某种程度上支持这一点,方法是持续保持从消息 ID 到消息传递次数的映射。在阅读消息中的数据之前,您将在订阅者中更新此地图。一旦确认,您就可以从地图中移除。如果计数超过某个阈值,您可以将其发布到单独的 Cloud Pub/Sub 主题,您可以使用该主题跟踪此类消息,然后确认消息。

Cloud Pub/Sub 现在支持 Dead Letter Queues 可用于处理毒丸消息。