AWS 配置应用程序的架构

Architecture for AWS configuration application

我正在创建一个应该只存储一些配置的应用程序。我正在使用 AWS AppConfig 作为配置存储。

我希望能够通过代码更新此配置数据。因此,当事件发生时,我想调用 SQS 来创建一条消息,其中包含要附加的新配置数据。 SQS 应该调用 lambda。 Lambda 应该从 AppConfig 获取最新配置,附加新配置,然后部署到 AppConfig。

因此,我希望 AppConfig 具有旧配置,并附加新配置。

是否有仅使用 AWS 服务来实现此目的的简单方法?

我没有尝试过这些,也没有直接使用过 AppConfig,但您应该不难从网上拼凑信息。

  1. 创建 SQS 队列来保存更新。
  2. 创建 Lambda 以从 SQS 队列中读取。
  3. 为从队列接收消息的 Lambda 编写代码,提取 AppConfig 并使用新值进行更新。使用您首选语言的众多 AWS SDK 之一。

您应该注意的一件事是 Lambda 可以一次 运行 多个,因此假设您的 AppConfig 如下所示:

{
   "version": 1
}

然后两个更新被同时推送到 SQS 队列:

{
    "update1": "abc"
}

and

{
    "update1": "xyz"
}

它们可以同时执行,并且可能会出现竞争条件,即两者都保存但一个覆盖另一个。

我在这里看不到 SQS 队列的好处,也不了解完整的用例或使用此设置的原因,但我认为可能有更好的方法来实现您想要实现的目标。