我一直在努力寻找确保某些 XML 配置文件在 Web Farm 中的多个服务器之间保持同步的最佳方法。我不一定关心 Web.Config,就像我关心应用程序中存在的其他一些配置文件一样。
例如,我们将缓存策略存储在一个外部 XML 文件中,它有自己的模式,并且很快就会有自己的工具来维护这些值。应用更改后,它们应该在整个场中迁移。
到目前为止我考虑过的一些场景:
- RoboCopy、复制或等效。这要求只在场的特定节点上完成工作。(推送到应用程序。)
- 配置服务器。所有外部配置及其工具都存储在 IIS 的物理实例上。应用程序将在应用程序启动时检索这些配置文件并定期轮询更改。(应用程序投票。)
- 团队建设。我们可以在内部托管这些工具并设置一个后期构建流程来部署文件。(应用程序投票。)
- 数据库存储。应用程序可以读取和轮询数据库以进行配置。(应用程序投票。)
所有这些场景都有其优点和缺点。我不确定最好的解决方案是什么,尽管我认为让应用程序轮询更改可能是最干净的方法。不过,问题是您认为哪种方式最好完成?