单个服务器上的多个网站实例 - 一次升级一个

And*_*nea 5 iis iis-7 load-balancing iis-7.5

我想在一台物理机上托管同一个站点的两个副本,以最大限度地减少升级期间的停机时间

我想我可以在机器前面放一个负载均衡器,为这台机器分配两个IP并在负载均衡器中设置IP。

问题是我何时需要更新站点(它的代码而不是基础设施)。我想我可以通过删除站点的一个“实例”,升级它,然后将其重新联机并对另一个站点执行相同的操作来最大程度地减少停机时间。

这可行吗?

这值得吗?

Mar*_*son 3

当然,这就是我们所做的。我们有两个 Web 服务器,A 和 B。我们有 haproxy 坐在它们前面,尽职地平衡它们之间的请求。与您一样,我们不会以请求必须返回其原始服务器的方式存储会话数据。

当我们想要升级时,我们将服务器 A 从池中取出。我们在内部执行升级并测试站点。然后,我们将服务器 A 放入池中,同时将服务器 B 从池中取出。然后我们升级服务器 B,并将其放回原处。

优点:站点升级,停机时间为零。

缺点:在升级过程中,您没有负载平衡或冗余。为了解决这个问题,您必须混合更多的服务器。

至于值不值得,只有你自己才能回答。我们的软件非常复杂,部署可能需要 5 分钟以上(这是在完全自动化的情况下),并且几乎 24/7 都在使用。所以这对我们来说是理所当然的。

如果您的网站仅在一天中偶尔获得流量,或者大部分时间是在工作时间,并且您没有突破单个 Web 服务器可以处理的障碍,那么可能不值得这么麻烦。在跑步时举起维护横幅 10 秒钟svn export可能是更合适的解决方案。