通常负载均衡器都被配置为访问web站点的某个网页,如果这个网页返回的是HTTP 200,那么这个服务器就是存活的。如果没有返回HTTP 200,那么负载均衡器就认为这台服务器已经挂死,然后就把这台服务器剔除出轮询组了。例如,假设web站点上存在文件alive.t xt,这个文件是负载均衡器密切关注的文件。如果这个文件被删除,那么这台服务器就会脱离轮询组了。遇到这种情况,你就可以创建批处理文件来完成服务器脱离负载均衡轮询组的工作,然后等待几秒以确保完成正在运行的请求,接着停止IIS,删除临时性的ASP.NET文件,准备在这台服务器上部署。要做的这些工作如下批处理:
04 | typeperf "\ASP.NET Applications(__Total__)\Requests Executing" -sc 30 |
06 | rmdir /q /s "C:\WINDOWS\Microsoft.NET\Framework64\v1.1.4322\Temporary ASP.NET Files" |
07 | rmdir /q /s "C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files" |
08 | md "C:\WINDOWS\Microsoft.NET\Framework64\v1.1.4322\Temporary ASP.NET Files" |
09 | md "C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files" |
10 | xcacls "C:\WINDOWS\Microsoft.NET\Framework64\v1.1.4322\Temporary ASP.NET Files" |
11 | /E /G MYMACHINE\IIS_WPG:F /Q |
12 | xcacls "C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files" |
13 | /E /G MYMACHINE\IIS_WPG:F /Q |
与上面所做的工作类似,你还应该创建一个批处理文件,用它来启动IIS,激活某些网页,然后把这台服务器放回到负载均衡器轮询组里。
3 | SET TINYGET=C:\Program Files (x86)\IIS Resources\TinyGet\tinyget.exe |
4 | iisreset /start "%TINYGET%" -srv:localhost -uri:http: //localhost/ -status:200 |
6 | typeperf "\ASP.NET Applications(__Total__)\Requests Executing" -sc 30 |
通常总试图自动地完成这样的管理杂务。因为在紧急部署的时候,要做到始终手工正确地完成这些工作是很困难的。
|