我正试图找到最佳的服务器架构解决方案,以将每月更新部署到 Asp.net 外部面向公众的网站。我正在寻找的是在对用户影响最小的情况下发布新版本网站的方法。除了部署标准方式(即停止 IIS、在现有网站上复制新网站、启动 IIS)之外,还有哪些“更好”的部署解决方案?如果他们保持 session 并且不必在更新期间看到“网站正在维护”消息,那就太好了。
我的服务器配置
我们有 2 个 IIS Web 服务器(2003 年),正在尝试找出利用它们进行部署的最佳方式。我的第一个想法是用最新版本更新非事件的网络服务器。然后优雅地将网络流量指向该服务器,对用户的影响最小(最好的情况是,用户不会丢失他的 session )。您将如何“重新指向”从服务器 1 到服务器 2 的 Web 流量?改变防火墙NAT?更改 DNS 记录?别的办法??我们需要能够在发布新更改后立即测试实时站点(duh)。
顺便说一句,我们正在使用 nant 和 cruise control 来自动化构建,并使用自定义 Web 服务将构建部署到生产环境。因此,只需单击一个按钮,这一切都是自动化的。
可以使用第三台服务器实现更好的解决方案吗?如果是怎么办?
最佳答案
我们的做法是
我们有一个来自 netscaler 的负载均衡器,
从负载均衡器中取出一个网络服务器,进行所有部署,执行 iisreset,然后放回负载均衡器中。
对 server2 做同样的事情。
最终使负载均衡器缓存失效。
关于asp.net - 如何在对用户影响最小的情况下将网站部署到生产环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4383338/