问题描述
我非常需要将SNS主题消息传递给所有微服务实例。
基本上是通知相关数据已更改
并且所有微服务实例都应从数据源重新加载其内部。
我们正在使用terraform通过Kong api网关创建我们的基础架构。
随着系统负载的增加,可以“即时”创建微服务实例,
因此无法在terraform阶段中创建对主题的订阅。
微服务是标准的SpringBoot应用程序。
我的问题是确定可以在订阅过程中使用的单个微服务实例的URL。
另一种方法是使用SQS,为每个微型srv实例创建SQS队列(将其订阅到sns)。
也许我在概念层面上做错了吗?
也许需要不同的架构方法?
解决方法
微服务检查Amazon S3中的对象以“拉”配置更新(或至少调用HeadObject来检查配置是否已更改)可能比尝试“将配置更新推送到所有服务器。
或者,使用AWS Systems Manager Parameter Store并让服务器将凭据缓存一段时间(例如5分钟),这样就不会总是检查配置。