17.7.5. Apache mod_jk ワーカーの設定リファレンス
workers.properties
ファイルは mod_jk がクライアント要求を渡すワーカーの動作を定義します。Red Hat Enterprise Linux では、ファイルは /etc/httpd/conf/workers.properties
にあります。workers.properties
ファイルは、異なるアプリケーションサーバーの場所と、負荷をまたがって分散する方法を定義します。
この設定は、3 つのセクションに分かれます。最初のセクションでは、すべてのワーカーに適用されるグローバルプロパティーを処理します。2 番目のセクションには、特定のロードバランサーに適用される設定が含まれます。3 つ目のセクションには、ロードバランサーによって分散される特定のワーカーノードに適用される設定が含まれます。
プロパティーの一般的な構造は
worker です。WORKER_NAME はDIRECTIVEです。
WORKER_NAME はワーカーの一意の名前で、DIRECTIVE はワーカーに適用される設定です。
Apache mod_jk ロードバランサーの設定リファレンス
テンプレートは、ロードバランサーごとにデフォルトの設定を指定します。ロードバランサーの設定内でテンプレートを上書きできます。ロードバランサーテンプレートの例は、例17.7「workers.properties
ファイルの例」 で確認できます。
プロパティー | 説明 |
---|---|
worker.list | mod_jk によって使用されるロードバランサー名の一覧。これらのロードバランサーは要求を受信するために使用できます。 |
プロパティー | 説明 |
---|---|
type |
ロードバランサーのタイプ。デフォルトのタイプは
ajp13 です。他の可能な値は ajp14 、lb 、status です。
これらのディレクティブの詳細については、の『Apache Tomcat Connector AJP Protocol Reference』を参照 http://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html してください。
|
プロパティー | 説明 |
---|---|
balance_workers |
ロードバランサーが管理する必要があるワーカーノードを指定します。同じロードバランサーにディレクティブを複数回使用できます。カンマ区切りのワーカーノード名のリストで構成されます。これはワーカーノードごとにではなく、ロードバランサーごとに設定されます。
|
sticky_session |
同じセッションからのリクエストを常に同じワーカーにルーティングするかどうかを指定します。デフォルトは
1 で、スティッキーセッションが有効になります。スティッキーセッションを無効にするには 0 . を設定します。すべてのリクエストが実際にステートレスである場合を除き、スティッキーセッションは通常有効にする必要があります。これはワーカーノードごとにではなく、ロードバランサーごとに設定されます。
|
プロパティー | 説明 |
---|---|
host |
ロードバランサーのホスト名または IP アドレス。ロードバランサーは
ajp プロトコルスタックをサポートする必要があります。デフォルト値は localhost です。
|
port |
定義されたプロトコル要求をリッスンしているリモートサーバーインスタンスのポート番号。デフォルト値は
8009 です。これは AJP13 ロードバランサーのデフォルトリッスンポートです。AJP14 ロードバランサーのデフォルト値は 8011 です。
|
ping_mode |
ネットワークの状態に対して接続がプローブされる条件。プローブは CPing に空の AJP13 パケットを使用し、応答で CPong を想定します。ディレクティブフラグの組み合わせを使用して条件を指定します。フラグはコンマまたはスペースで区切られません。ping_mode には、
C 、P 、I 、および A の任意の組み合わせを使用できます。
|
ping_timeout、connect_timeout、prepost_timeout、connection_ping_interval |
上記の接続プローブ設定のタイムアウト値。値はミリ秒単位で指定され、
ping_timeout のデフォルト値は 10000 です。
|
lbfactor |
個々のロードバランサーの負荷分散係数を指定し、ロードバランサーのメンバーワーカーノードにのみ適用されます。より強力なサーバーにより多くの作業負荷を割り当てる場合に便利です。ワーカーにデフォルトの 3 倍の負荷を割り当てるには、
worker.my_worker.lbfactor=3 のように 3 を設定します。
|
例17.7 workers.properties
ファイルの例
worker.balancer1.type=lb worker.balancer2.type=lb worker.balancer1.sticky_sessions=1 worker.balancer1.balance_workers=node1 worker.balancer2.sticky_session=1 worker.balancer2.balance_workers=node2,node3 worker.nodetemplate.type=ajp13 worker.nodetemplate.port=8009 worker.node1.template=nodetemplate worker.node1.host=localhost worker.node1.ping_mode=CI worker.node1.connection_ping_interval=9000 worker.node1.lbfactor=1 worker.node2.template=nodetemplate worker.node2.host=192.168.1.1 worker.node2.ping_mode=A worker.node3.template=nodetemplate worker.node3.host=192.168.1.2
worker.balancer1.type=lb
worker.balancer2.type=lb
worker.balancer1.sticky_sessions=1
worker.balancer1.balance_workers=node1
worker.balancer2.sticky_session=1
worker.balancer2.balance_workers=node2,node3
worker.nodetemplate.type=ajp13
worker.nodetemplate.port=8009
worker.node1.template=nodetemplate
worker.node1.host=localhost
worker.node1.ping_mode=CI
worker.node1.connection_ping_interval=9000
worker.node1.lbfactor=1
worker.node2.template=nodetemplate
worker.node2.host=192.168.1.1
worker.node2.ping_mode=A
worker.node3.template=nodetemplate
worker.node3.host=192.168.1.2
Copy to clipboardCopied
上記の例では、複数のロードバランサーを使用して Web サーバーの代わりにコンテンツを提供できます。このような設定の理由は以下のとおりです。
Apache mod_jk の設定の詳細は、本書の範囲外です。詳細は Apache ドキュメントを参照 http://tomcat.apache.org/connectors-doc/ してください。
- 異なるロードバランサーで異なるコンテキストを提供するには、すべての開発者が同じ Web サーバーを共有し、独自のロードバランサーを所有する開発環境を提供します。
- 異なるプロセスが提供する仮想ホストが異なる場合に、異なる企業に属するサイト間で明確に分離できます。
- 負荷分散を提供するには、独自のマシンで複数のロードバランサーを実行し、それらの間で要求を分割します。