如何确保SNS主题有订阅?

问题描述 投票:0回答:1

我在 cdk 中定义了一个堆栈,其中包含一个 AWS 账户中的 SNS 主题和另一个 AWS 账户中订阅该主题的 SQS 队列。

我担心可能会出现订阅失败或暂时不可用(部署/部署失败)的情况,从而导致消息丢失。如果订阅失败,消息将发布到主题,但会默默删除,因为不会订阅任何内容。

考虑到另一个 AWS 账户中的 SNS + SQS 将是一种常见的设计模式,这似乎存在差距。

问题:

  1. 我们如何监控某个主题的订阅?我想您可以编写一个预定的 lambda 来轮询队列的订阅并向 cloudwatch 发出指标并发出警报,但这似乎不切实际。这是我们应该担心的事情吗? (对资源启用了删除保护)。我正在考虑对 (NumberOfMessagesPublished - NumberOfNotificationsDelivered) 发出警报,但如果触发了此警报,除非消息被记录在其他地方,否则将无法恢复消息,这将需要我们记录每条消息,因为没有发生明确的故障。
  2. 我们应该担心部署期间订阅不可用吗?
amazon-web-services amazon-cloudwatch amazon-sqs aws-cdk amazon-sns
1个回答
0
投票

您可以配置消息发送重试。您还可以配置 SNS 死信队列 (DLQ)

© www.soinside.com 2019 - 2024. All rights reserved.