Go to main content
Oracle® Solaris 11.3 パッケージリポジトリのコピーと作成

印刷ビューの終了

更新: 2016 年 11 月
 
 

負荷分散の構成

集積サーバーを Apache ロードバランサの背後で実行させることが必要な場合もあります。負荷分散の利点の 1 つは、リポジトリの可用性が向上することです。このセクションでは、負荷分散の 2 つの例を示します。

リポジトリが負荷分散されている場合、ロードバランサがクライアントをあるノードから別のノードに切り替えるときの問題を避けるために、すべてのリポジトリのカタログがまったく同じである必要があります。カタログがまったく同じであることを確認するには、複数の同一のローカルリポジトリの保守の説明に従って、負荷分散に関係しているリポジトリをクローニングします。

負荷分散に対応した 1 つのリポジトリサーバー

この例では http://pkg.example.com/myrepointernal1.example.com:10000 および internal2.example.com:10000 に接続します。

プレフィックスを使用した単純なプロキシの構成で示すように、適切な proxy_base 設定を使用して集積サーバーを構成します。

バックエンド接続の数は、ロードバランサ設定において各集積が実行するスレッド数を集積の数で割った数に制限します。それ以外の場合、Apache は 1 つの集積に対して使用可能な数よりも多くの接続を開くことで接続が停止し、パフォーマンスを低下させる可能性があります。max= パラメータを使用して、各集積への並列接続の最大数を指定します。次の例は、それぞれ 200 個のスレッドを実行する 2 つの集積を示しています。集積のスレッド数を設定する方法の例については、プレフィックスを使用した単純なプロキシの構成を参照してください。

<Proxy balancer://pkg-example-com-myrepo>
        # depot on internal1
        BalancerMember http://internal1.example.com:10000 retry=5 max=100

        # depot on internal2
        BalancerMember http://internal2.example.com:10000 retry=5 max=100
</Proxy>

Redirect /myrepo http://pkg.example.com/myrepo/
ProxyPass /myrepo/ balancer://pkg-example-com-myrepo/ nocanon

負荷分散に対応した 1 つのリポジトリサーバーと負荷分散に対応しない 1 つのリポジトリサーバー

この例は、負荷分散に対応した集積サーバーおよび負荷分散に対応しない集積サーバーの設定をホストするリポジトリサーバーのために、httpd.conf ファイルに追加する必要があるすべてのディレクティブを含んでいます。

次の例では、1 つのドメイン名の 2 種類のプレフィックスが 3 種類のパッケージリポジトリに接続されます。

  • http://pkg.example.com/repo_oneinternal1.example.com:10000 および internal2.example.com:10000 に接続されます

  • http://pkg.example.com/repo_twointernal1.example.com:20000 に接続されます

AddOutputFilterByType DEFLATE text/html application/javascript text/css text/plain

AllowEncodedSlashes NoDecode

MaxKeepAliveRequests 10000

ProxyTimeout 30

ProxyRequests Off

<Proxy balancer://pkg-example-com-repo_one>
        # depot on internal1
        BalancerMember http://internal1.example.com:10000 retry=5 max=100

        # depot on internal2
        BalancerMember http://internal2.example.com:10000 retry=5 max=100
</Proxy>

Redirect /repo_one http://pkg.example.com/repo_one/
ProxyPass /repo_one/ balancer://pkg-example-com-repo_one/ nocanon
Redirect /repo_two http://pkg.example.com/repo_two/
ProxyPass /repo_two/ http://internal.example.com:20000/ nocanon max=200