5.4.3 ラウンドロビン方式によるリクエストの振り分けの定義
標準で提供されるworkers.propertiesには,あらかじめ次に示すロードバランサが定義されています。
#worker.list=loadbalancer1 #worker.loadbalancer1.type=lb #worker.loadbalancer1.balanced_workers=worker1,worker2
worker.loadbalancer1.typeでは,ワーカのタイプを設定します。worker.loadbalancer1.balanced_workersでは,振り分け対象となるワーカプロセス名を設定します。workers.propertiesには,loadbalancer1として,それぞれ「lb」と「worker1,worker2」が定義されています。
ただし,この定義はコメントとして記述されています。このため,上記のロードバランサを利用する場合は,workers.propertiesの該当する行の先頭の「#」を削除してください。
リクエスト振り分けの比率は,振り分け対象となる各ワーカ定義のlbfactorパラメタに定義できます。lbfactorが大きければ大きいほどそのワーカプロセスに転送されるリクエストの割合は大きくなります。
例えば,worker1とworker2という二つのワーカプロセスでリクエストを振り分ける場合,ワーカ定義のlbfactorパラメタに次に示すように定義されているとします。
-
worker1のlbfactorパラメタ:2.0
-
worker2のlbfactorパラメタ:1.0
この場合,worker1はworker2の2倍の数のWebクライアントを担当することになります。