繁体   English   中英

AWS SNS 多个订阅者(按代码)(例如动态实例)

[英]AWS SNS multiple subscribers by code (e.g. dynamic instances)

也许有人可以帮助我找到更好的 AWS 基础设施解决方案。

我将有 N 个服务(每个服务是一个实例)(至少 min 1,其他的将动态添加)。 在每个服务的memory中,有一个数据缓存(1-3Gb)。 我需要实施发布者-订阅者模式来更新每项服务的缓存。 正如我所见,AWS SNS 可以调用 SQS、AWS Lambda、http\https、SMS 等。因此,看起来 AWS SNS 不支持从代码订阅\取消订阅 SNS。

目前,我只看到一种解决方案:

  1. 当一个新实例启动时,它将创建一个 SQS 队列并将此 SQS 订阅到现有的 SNS 主题
  2. 当实例终止时,它将从 SNS 主题取消订阅 SQS 队列,然后删除 SQS
  3. 因此,每个实例都将通过 SQS 接收有关缓存更新的事件。

我不喜欢这个解决方案,因为我需要为 SQS 和 SNS 存储具有创建\编辑权限的访问密钥。

那么,也许有人可以建议我另一种解决方案? 我将不胜感激任何想法。

PS 我不能使用像 ElasticCache 或 Redis 这样的缓存,因为加载数据和反序列化需要(3-5 秒),但从 memory 开始,需要 0.5 秒。 我正在使用 .net 核心 3.x 版本

您概述的解决方案通常是大多数人最终使用的解决方案(一个 SQS 队列 + 每个主机的订阅以及设置和拆卸)。

请记住,您可以 scope 降低 IAM 策略以仅适用于某些资源,例如仅订阅/取消订阅一个特定的 SNS 主题。 您还可以考虑将设置/拆除作为放大/缩小过程的一部分,而不是在实例本身中进行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM