5.5.2 POSTデータサイズによるリクエストの振り分けの例
POSTデータサイズでリクエストを振り分ける場合,POSTリクエスト振り分けワーカに転送されるリクエストが限定できるかどうかによって,POSTデータサイズの上限値に設定する値が異なります。
-
POSTリクエスト振り分けワーカに転送されるリクエストが限定できる場合
ここでは,次の条件を満たすリクエストが,POSTリクエスト振り分けワーカに転送されるものとして説明します。
-
POSTデータのリクエストである。
-
リクエストのPOSTデータサイズが200メガバイト未満である。
リクエストが限定できる場合,処理したい長大なPOSTデータの範囲も限定できます。長大なPOSTデータのリクエストを処理するワーカに,特定のPOSTデータサイズのリクエストが転送されるように,それぞれのリクエスト転送先ワーカで上限値を設定します。
リクエストが限定できる場合の,POSTデータサイズによるリクエストの振り分けの例を次の図に示します。
図5‒10 POSTデータサイズによるリクエストの振り分けの例(リクエストが限定できる場合) この図では,POSTリクエスト転送先ワーカを二つ用意し,POSTデータサイズが100メガバイト以上200メガバイト未満のリクエストがワーカプロセスBに転送されるように,それぞれにPOSTデータサイズの上限値を設定しています。リクエストのPOSTデータサイズが上限値未満の場合に,それぞれのPOSTリクエスト転送先ワーカに振り分けられます。リクエストのPOSTデータサイズが,複数のPOSTリクエスト転送先ワーカに当てはまる場合,POSTデータサイズの上限値が最も小さいPOSTリクエスト転送先ワーカに,リクエストは振り分けられます。例えば,POSTデータサイズが80メガバイトのリクエストの場合は,どちらのワーカにも該当しますが,ワーカプロセスAに振り分けられます。
-
-
POSTリクエスト振り分けワーカに転送されるリクエストが限定できない場合
リクエストを限定できない場合,長大なPOSTデータを処理するワーカのPOSTデータサイズの上限値には,最大値を設定します。
リクエストが限定できない場合の,POSTデータサイズによるリクエストの振り分けの例を次の図に示します。
図5‒11 POSTデータサイズによるリクエストの振り分けの例(リクエストが限定できない場合) この図では,POSTリクエスト転送先ワーカを二つ用意し,それぞれにPOSTデータサイズの上限値を設定しています。長大なPOSTデータのリクエストすべてをワーカプロセスBで処理するように,ワーカプロセスBのPOSTデータサイズの上限値には最大値を設定しています。ワーカプロセスAの上限値以上(100メガバイト以上)のPOSTデータのリクエストは,すべてワーカプロセスBに転送されます。なお,この場合,POSTデータ以外のリクエストや,POSTデータサイズが参照できないリクエストなどが転送されると,リクエスト振り分けワーカで振り分けられないため,リダイレクタによってエラーステータスコード400が返されてエラーとなります。
POSTデータサイズでリクエストを振り分ける場合,リクエストの振り分け条件に満たないリクエストがPOSTリクエスト振り分けワーカに転送されると,リダイレクタによってエラーステータスコード400が返されてエラーとなります。リクエストの振り分け条件については,「5.5.3 リクエストの振り分け条件」を参照してください。
リクエストの振り分け条件に満たないリクエストも処理したい場合は,そのリクエストを転送するワーカプロセスを設定する必要があります。リクエストの振り分け条件に満たないリクエストを転送するワーカプロセスをデフォルトワーカといいます。なお,デフォルトワーカの設定は任意です。
リクエストが限定できない場合に,リクエストの振り分け条件に満たないリクエストをデフォルトワーカに転送する例を次の図に示します。
この図では,リクエストの振り分け条件に満たないリクエストを,デフォルトワーカのワーカプロセスAに転送するように設定しています。