此範例比上述範例複雜。此範例使用四個代理伺服器,而其中一個是做為其他伺服器的緊急備用伺服器。若任何三個代理伺服器當機,會由第四個代理伺服器接手。其他三個代理伺服器會根據 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"; }