nau*_*ten 1 configuration-files amazon-s3 amazon-ec2 amazon-web-services amazon-dynamodb
我正在创建一个简单的 Web 应用程序,需要部署到 AWS 中的多个区域。该应用程序需要一些由单独的服务管理的动态配置。当通过此服务更改配置时,我需要将这些更改传播到所有区域的所有 Web 应用程序实例。
我考虑使用 DynamoDB 的跨区域复制来实现此目的,但我不想增加在每个区域运行 DynamoDB 和复制控制台的成本。然后我就想到使用S3,本质上是跨区域的。
基本上,配置服务会将所有配置作为静态 JSON 文件写入 S3。每个 Web 应用程序实例都会定期检查 S3,以查看自上次检查以来是否有任何配置文件发生更改,并在必要时下载新的配置。配置更改对时间不敏感,因此每 5/10 分钟轮询一次更改就足够了。
你们中有人以前使用过类似的方法来管理应用程序配置吗?您认为这是一个明智的解决方案,或者您有更好的建议吗?
用于此配置的正确工具取决于配置的大小和您需要的粒度。
您可以在单个区域使用 DynamoDB 和 S3 来为所有区域中的应用程序提供服务。您可以从所有区域读取 S3 中的配置文件,并且可以从所有区域的单个 DynamoDB 表中读取配置记录。由于全球距离的原因,存在一些延迟,但对于读取配置来说,这应该不是什么大问题。
如果每次加载配置时都需要整套配置,那么使用 S3 可能更有意义。但如果您需要通过应用程序的不同部分、在不同的时间和计划读取大型配置的小部分,则将其存储在 DynamoDB 中更有意义。
在这两个选项中,配置成本都很小,因为 S3 中的文本文件和对该文件的一些访问的成本应该几乎是免费的。DynamoDB 的成本也同样较低,因为您可能只有几 KB 的数据,并且每秒的读取次数非常低(每秒 5 个读取容量就足够了)。即使您决定将数据复制到所有区域,它仍然几乎是免费的。
归档时间: |
|
查看次数: |
5842 次 |
最近记录: |