同步IIS web服务器配置
本文关键字:服务器配置 web IIS 同步 | 更新日期: 2023-09-27 18:09:11
我们的应用程序有多个负载均衡的IIS web服务器,由MS SQL server数据库支持。我们将应用程序配置信息存储在数据库中。当应用程序运行时,我经常更改配置,并且需要将更改传播到其他web服务器。有什么好办法吗?我一直在通过SignalR(提醒其他服务器发生了变化,他们应该刷新他们的配置),但SignalR并不总是可靠的,有时一个服务器没有得到消息。有没有更好的解决方案?
谢谢
更新
我现在明白您需要传播应用程序级别配置更改。
你可以,正如你提到的,使用SignalR。这将需要有一个中央服务器来托管websocket连接,但具有"即时"的好处。
或者,如果您的需求很简单,也许短期的内存缓存就足够了。
如果它比这更复杂,我建议查看事件队列(MSMQ, RabbitMQ)。在此模型中,更改配置的实例将事件发布到队列中,该事件可由后台线程上的其他实例使用。
原始回答
Microsoft Web Deploy就是为此而构建的。它支持跨服务器同步站点,甚至到应用程序池设置和SSL证书。
IIS文档站点有一个与您的用例相关的特定页面:同步IIS。
配置Web Deploy涉及到很多内容,所以我不会在这里一一解释,但出于后人的考虑,将本地站点同步到远程机器的命令将是:msdeploy.exe -verb:sync
-source:apphostconfig="Default Web Site"
-dest:apphostconfig="Default Web Site",computername=Server1
(为了便于阅读,命令被分成多行)
作为一种完全可选的方法,您还可以使用"拉式配置"系统,如Powershell期望状态配置或Chef。