2014-03-03 40 views
3

12-Factor Apps建议您configure您的应用程序使用环境变量。到现在为止还挺好。我很容易想象,如果你需要设置一个连接字符串,这是一个很好的方法。使用环境变量配置应用程序

但是如果你有更多复杂的配置和大量的值呢?我肯定不想有50多个环境变量,是吗?

我该如何解决这个问题,仍然符合12因子应用的想法?

+0

“我肯定不想有50多个环境变量,对吗?”为什么不呢? –

+0

因为它在开发过程中变得不必要的复杂,或者我错过了什么? –

+0

这可能是我错过了一些东西,因为我对使用环境变量不是很熟悉,但是在什么情况下,它比目前所做的更复杂? (另外,[这是对12因子宣言的配置章节的一个很好的批评](http://quest.windwards.net/content/twelve-factor-app)。 –

回答

0

从您提供的configure链接快速阅读中,我同意作者声称存在一个普遍问题,但我不相信他们提出的解决方案总是最好的。和你一样,我不喜欢必须定义几十个环境变量来配置应用程序的想法。所以这里有一些替代想法。

首先,阅读Chapter 2 of the Config4* Getting Started Guide(免责声明:我是该软件的主要作者)。尤其要注意的是,它对我所谓的自适应配置的支持对于解决您所关心的问题可能会有很大的帮助。 Config4 *是最终的解决方案吗?可能不会,但我认为这是向正确方向迈出的一大步。其次,无论您正在开发/维护的应用程序是否已经在特定的配置技术(例如XML文件或Java属性文件)上解决,并且迁移到使用Config4 *都是不可行的。这就产生了一个问题:当您有多个部署应用程序的环境(例如开发,UAT,分期和生产)时,您是否可以做任何事情来避免扩大基于XML的配置文件?我已经概述了在另一个StackOverflow article中处理此问题的方法。

相关问题