如何将AWS SNS消息传递到特定微服务的所有实例

问题描述

我非常需要将SNS主题消息传递给所有微服务实例
基本上是通知相关数据已更改
并且所有微服务实例都应从数据源重新加载其内部。

我们正在使用terraform通过Kong api网关创建我们的基础架构。
随着系统负载增加,可以“即时”创建微服务实例, 因此无法在terraform阶段中创建对主题订阅
微服务是标准的SpringBoot应用程序。

我的第一个方法

我的问题是确定可以在订阅过程中使用的单个微服务实例的URL。

另一种方法是使用SQS,为每个微型srv实例创建SQS队列(将其订阅到sns)。

也许我在概念层面上做错了吗?
也许需要不同的架构方法

解决方法

微服务检查Amazon S3中的对象以“拉”配置更新(或至少调用HeadObject来检查配置是否已更改)可能比尝试“将配置更新推送到所有服务器。

或者,使用AWS Systems Manager Parameter Store并让服务器将凭据缓存一段时间(例如5分钟),这样就不会总是检查配置。