A.29. mod_jk ワーカープロパティー
workers.properties
ファイルは mod_jk がクライアント要求を渡すワーカーの動作を定義します。workers.properties
ファイルは、異なるサーブレットコンテナーが存在する場所と、ワークロードをアプリケーションサーバーすべてで分散する方法を定義します。
プロパティーの一般的な構造は worker.WORKER_NAME.DIRECTIVE
です。WORKER_NAME
は、JBoss EAP undertow
サブシステムで設定された instance-id
と一致しなければならない一意な名前です。DIRECTIVE はワーカーに適用される設定です。
Apache mod_jk ロードバランサーの設定リファレンス
テンプレートはデフォルトのロードバランサーごとの設定を指定します。ロードバランサーの設定内でテンプレートを上書きできます。
プロパティー | 説明 |
---|---|
worker.list | mod_jk によって使用されるワーカー名のコンマ区切りリスト。 |
プロパティー | 説明 |
---|---|
type |
ワーカーのタイプ。デフォルトのタイプは |
プロパティー | 説明 |
---|---|
balance_workers | ロードバランサーが管理する必要があるワーカーノードを指定します。同じロードバランサーにディレクティブを複数回使用できます。コンマ区切りのワーカーノード名のリストで設定されます。 |
sticky_session | 同じセッションからのリクエストを常に同じワーカーにルーティングするかどうかを指定します。デフォルトは 1 で、スティッキーセッションが有効になります。スティッキーセッションを無効にするには 0. を設定します。すべてのリクエストが実際にステートレスである場合を除き、スティッキーセッションは通常有効にする必要があります。 |
プロパティー | 説明 |
---|---|
host | バックエンドサーバーのホスト名または IP アドレス。バックエンドサーバーは ajp プロコトルスタックをサポートする必要があります。デフォルト値は localhost です。 |
port | 定義されたプロトコルリクエストをリッスンしているバックエンドサーバーインスタンスのポート番号。デフォルトの値は、AJP13 ワーカーのデフォルトのリッスンポートである 8009 です。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 のように |
以下の例は、ポート 8009
でリッスンする node1
および node2
の 2 つのワーカーノードの間でスティッキーセッションを用いて負荷を分散します。
例: workers.properties ファイル
Define list of workers that will be used for mapping requests Define Node1 modify the host as your host IP or DNS name. Define Node2 modify the host as your host IP or DNS name. Load-balancing behavior Status worker for managing load balancer
# Define list of workers that will be used for mapping requests
worker.list=loadbalancer,status
# Define Node1
# modify the host as your host IP or DNS name.
worker.node1.port=8009
worker.node1.host=node1.mydomain.com
worker.node1.type=ajp13
worker.node1.ping_mode=A
worker.node1.lbfactor=1
# Define Node2
# modify the host as your host IP or DNS name.
worker.node2.port=8009
worker.node2.host= node2.mydomain.com
worker.node2.type=ajp13
worker.node2.ping_mode=A
worker.node2.lbfactor=1
# Load-balancing behavior
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=node1,node2
worker.loadbalancer.sticky_session=1
# Status worker for managing load balancer
worker.status.type=status
Apache mod_jk の設定の詳細は、本書の範囲外です。Apache のドキュメント を参照してください。