이 예는 훨씬 복잡합니다. 이 예에서는 4개의 프록시 서버를 사용하며 그 중 하나는 다른 서버에 대해 상시 대기 역할을 수행합니다. 나머지 3개의 프록시 서버가 중단될 경우 네 번째 서버가 역할을 수행합니다. 나머지 3개의 프록시 서버는 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"; }