mit*_*dir 9 java config 12factor
我正在阅读12因素应用宣言http://12factor.net/.宣言建议在Enviornment变量中存储应用程序的配置数据.这是否意味着像DB用户名/密码,资源URL这样的属性应该存储为Java Env变量的一部分而不是属性文件?这是一种存储信息的安全方式吗?对我来说,这似乎是存储信息的一种非常笨重的方式.是否有可以共享的最佳实践/经验?
我能想到的一个选项是在横向上运行单独的配置服务,并使用Env属性连接到配置服务,然后查询配置服务以获取更详细的配置数据.
12因素应用程序旨在运行在编排独立UNIX进程的平台上.UNIX进程是通过环境变量配置的.虽然属性文件是一种成熟的Java约定,但UNIX进程是一种与语言无关的配置进程的方法.
要支持多种配置方法,最佳做法是:
System.getenv('CONFIG')如果为null,则从进程环境中读取properties.getProperty('CONFIG')如果为null,则从属性文件中读取有关更多详细信息,请参阅Heroku关于为Java应用程序定义配置变量的说明.