3

我在一个集群中有两个网络服务器服务于一个网络应用程序。

使用 MS Web Deploy 将应用程序的新版本推送到一台服务器,然后再次将文件同步到集群中的另一台服务器。这似乎是最普通的事情。

但是,当一台服务器部署了新版本,而另一台服务器尚未完成时,会不会出现问题。当一个加载了新版本的页面发出webservice请求,平衡器将请求发送到旧版本的服务器时,会不会造成麻烦?

避免这种情况的最佳方法是什么?

我考虑编写服务器的排水停止脚本,我们部署到该服务器,并确保一次只运行一个服务器。但我找不到其他人,似乎写过这样的解决方案。并且猜测它也不能很好地扩展。

另一种解决方案可能是在更新时关闭所有服务器。但这似乎不是很聪明。

有什么建议么?

4

2 回答 2

3

您可以使用DFS,以便文件基本上立即复制到其他服务器。

此外,您可以编辑每台服务器的主机文件,以便每台服务器使用自己的托管服务,而不是通过 NLB 并可能转到另一台服务器。当您已经在服务器上时,很少有理由去另一台服务器,它只会引起您提到的头痛并降低性能。

于 2010-05-27T16:03:10.870 回答
0

现在还有网络农场框架:http ://weblogs.asp.net/scottgu/archive/2010/09/08/introducing-the-microsoft-web-farm-framework.aspx

于 2010-09-21T06:53:04.500 回答