本例较为复杂。它使用四个代理服务器,其中一个充当其他服务器的热备份。如果其余三个代理服务器中的任何一个出现故障,则第四个服务器将进行接管。其余三个代理服务器基于 URL 模式分担负载,从而使它们的高速缓存变得更加有效。任何文档在这三个服务器上都只有一个副本,而不是在其中每一个服务器上均有一个副本。分配负载如下表所示。
表 17–3 平衡代理负载
代理 |
用途 |
---|---|
#1 |
.com 域 |
#2 |
.edu 域 |
#3 |
其他所有域 |
#4 |
热备份 |
所有本地访问均应为直接访问。所有代理服务器都在端口 8080 上运行。您可以使用 + 运算符来串联字符串。
function FindProxyForURL(url, host) { if (isPlainhost name(host) || dnsDomainIs(host, ".mydomain.com")) return "DIRECT"; else if (dnsDomainIs(host, ".com")) return "PROXY proxy1.mydomain.com:8080; " + "PROXY proxy4.mydomain.com:8080"; else if (dnsDomainIs(host, ".edu")) return "PROXY proxy2.mydomain.com:8080; " + "PROXY proxy4.mydomain.com:8080"; else return "PROXY proxy3.mydomain.com:8080; " + "PROXY proxy4.mydomain.com:8080"; }