Sun Java System Web Proxy Server 4.0.8 管理ガイド

例 5: dnsDomainIs()() によるプロキシの負荷分散

次に挙げる例は、より詳細なものです。ここにはプロキシサーバーが 4 台あり、そのうちの 1 台がほかのサーバーに対するホットスタンバイとして機能しています。したがって、ほかの 3 台のサーバーのいずれかが停止したら、4 台目のサーバーが引き継ぎます。ほかの 3 台のプロキシサーバーは URL パターンに基づいて負荷を分散しており、これによってキャッシュが効率的に行われています。3 台のサーバー上のドキュメントはすべてコピーが 1 つしかありません。それぞれに 1 つずつコピーがあるわけではありません。負荷分散は、次の表に示すように行われています。

表 17–3 プロキシの負荷分散

プロキシ (Proxy) 

目的 

#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";
}