我有一个在 Google AppEngine 上运行的网络应用程序。
我有一个 PRODUCTION 环境、一个 STAGING 环境和多个开发和 QA 环境。在 PRODUCTION 和其他环境之间有许多配置参数应该不同 - 例如我们集成的服务的 API 密钥(例如 GoogleAnalytics)。其中一些参数在代码中定义,其他在 web.xml 中定义(例如,在过滤器的 init-param 标记内),以及其他情况。
我知道有几种方法可以做到这一点:
将所有参数保存在数据存储中(并可能将它们缓存在每个运行实例/Memcached 中)
在 web.xml 中部署具有不同系统属性/环境变量的应用程序
其他选择...?
无论如何,我很想听听您解决这个问题的最佳实践。