【发布时间】:2012-09-11 10:26:56
【问题描述】:
我即将进入构建 Node.js 应用程序的 beta 部署阶段,该应用程序通过 Windows Azure 上的 iisnode 运行。在设置了多个实例以及生产/暂存分离之后,我的研究得出了以下结论:
如果我想在不重新部署代码的情况下即时更改配置设置,我需要使用服务配置
.cscfg文件。
我的问题是我在web.config 的<appSettings> 和<iisnode> 元素中存储了我可能想要更改的各种配置设置,这些设置目前通过进程全局对象在我的Node 应用程序中公开。
我环顾了 MSDN、Node documentation 和 SO(通常情况下),但找不到 Node 是否可以或可以以相同方式公开服务配置设置。如果没有,有没有办法可以将它们公开给我的应用程序?
编辑:更具体地说,我真的只想将 node_env 设置从 web.config 移动到服务配置,因为我希望能够从暂存中切换只需更改配置即可进行生产设置。原因 - 我们使用 IP 切换在 staging 和 prod 之间进行交换,并且两者之间存在一些非常小的差异(例如,它使用的 RESTful Web 服务的 URL)。
我也知道我可以在iisnode读取的iisnode.yaml文件中配置node_env,但这仍然会回收应用程序,我不想修改x yaml文件并重新部署,其中 x 是生产/暂存应用程序的实例数。
【问题讨论】: