【发布时间】:2021-10-06 08:17:33
【问题描述】:
也许有人可以帮助我找到更好的 AWS 基础设施解决方案。
我将有 N 个服务(每个服务都是一个实例)(至少至少 1 个,其他的会动态添加)。在每个服务的内存中,都有一个数据缓存(1-3Gb)。我需要实现一个发布者-订阅者模式来更新每个服务的缓存。正如我所见,AWS SNS 可以调用 SQS、AWS Lambda、http\https、SMS 等。所以,看起来 AWS SNS 不支持从代码订阅\取消订阅 SNS。
目前,我只看到一种解决方案:
- 当新实例启动时,它将创建一个 SQS 队列并将此 SQS 订阅到现有的 SNS 主题
- 当实例终止时,它将取消订阅 SNS 主题的 SQS 队列,然后删除 SQS
- 因此,每个实例都将通过 SQS 接收有关缓存更新的事件。
我不喜欢这个解决方案,因为我需要为 SQS 和 SNS 存储具有创建\编辑权限的访问密钥。
那么,也许有人可以建议我另一种解决方案?如果有任何想法,我将不胜感激。
附:我不能使用像 ElasticCache 或 Redis 这样的缓存,因为加载数据和反序列化需要(3-5 秒),但从内存中需要 0.5 秒。 我正在使用 .net core 3.x 版本
【问题讨论】:
标签: asp.net .net amazon-web-services amazon-sqs amazon-sns