再試行を要求する
-
アプライアンスがリクエストデータパケットを送信すると、バックエンドサーバーは TCP 接続をリセットします。
-
バックエンドサーバーが SYN 確立時に TCP 接続をリセットした場合
バックエンドサーバーが要求データパケットの受信時にTCP接続をリセットするときの要求の再試行のしくみ
-
このプロセスは、アプライアンスで AppQoE 機能を有効にすることから始まります。
-
クライアントがHTTPまたはHTTPS要求を送信すると、負荷分散仮想サーバーはその要求をバックエンドサーバーに送信します。
-
要求されたサービスが利用できない場合、バックエンドサーバーはTCP接続をリセットします。
-
AppQoE 構成で「再試行」が有効になっていて、希望する再試行回数が指定されている場合、負荷分散仮想サーバーは構成された負荷分散アルゴリズムを使用して、次の使用可能なアプリケーションサーバーに要求を転送します。
-
負荷分散仮想サーバーが応答を受信した後、アプライアンスは応答をクライアントに転送します。
-
使用可能なバックエンドサーバーが再試行回数以下で、すべてのサーバーがリセットを送信すると、アプライアンスは内部サーバーエラーを 500 個応答します。使用可能なサーバーが5つあり、再試行回数が6に設定されているシナリオを考えてみます。5 台のサーバすべてが接続をリセットすると、アプライアンスはクライアントに 500 の内部サーバエラーを返します。
-
同様に、バックエンドサーバーの数がリトライ回数を超え、バックエンドサーバーが接続をリセットすると、アプライアンスはリセットをクライアントに転送します。3つのバックエンドサーバーがあり、再試行回数が2に設定されているシナリオを考えてみます。3 台のサーバで接続をリセットすると、アプライアンスはクライアントにリセット応答を送信します。
バックエンドサーバーが SYN 確立時に TCP 接続をリセットした場合の要求の再試行の仕組み
-
このプロセスは、アプライアンスで AppQoE 機能を有効にすることから始まります。
-
クライアントが HTTP または HTTPS 要求を送信すると、負荷分散仮想サーバーはバックエンドサーバーへの接続を開始します。
-
要求されたサービスが TCP SYN 確立で使用できない場合、バックエンドサーバーは TCP 接続をリセットします。
-
AppQoE 構成で「再試行」が有効になっていて、希望する再試行回数が指定されている場合、負荷分散仮想サーバーは構成された負荷分散アルゴリズムを使用して、次の使用可能なアプリケーションサーバーに要求を転送します。
-
負荷分散仮想サーバーが応答を受信した後、アプライアンスは応答をクライアントに転送します。
-
使用可能なバックエンドサーバーが再試行回数以下で、すべてのサーバーがリセットを送信すると、アプライアンスは内部サーバーエラーを 500 回応答します。使用可能なサーバーが5つあり、再試行回数が6に設定されているシナリオを考えてみます。5 台のサーバすべてが接続をリセットすると、アプライアンスはクライアントに 500 の内部サーバエラーを返します。
-
同様に、バックエンドサーバーの数がリトライ回数を超え、バックエンドサーバーが TCP SYN 確立上の接続をリセットした場合、アプライアンスはリセットをクライアントに転送します。3つのバックエンドサーバーがあり、再試行回数が2に設定されているシナリオを考えてみます。3 台のサーバが接続をリセットすると、アプライアンスはリセットパケットをクライアントに送信します。
GETメソッドの要求再試行を構成します
-
AppQoEを有効にする
-
AppQoEアクションの追加
-
AppQoEポリシーの追加
-
負荷分散仮想サーバーをAppQoEポリシーにバインドする
AppQoEを有効にする
enable ns feature appqoe
AppQoEアクションの追加
add appqoe action reset_action -retryOnReset ( YES | NO ) -numretries <positive_integer>]
add appqoe action reset_action –retryOnReset YES –numretries 5
numretries。再試行回数。
AppQoEポリシーの追加
add appqoe policy <name> -rule <expression> -action <string>
add AppQoE policy reset_policy -rule http.req.method.eq(get) -action reset_action
負荷分散仮想サーバーをAppQoEポリシーにバインドする
bind lb vserver <name> ((<serviceName> (-policyName <string> [-priority <positive_integer>] [-gotoPriorityExpression <expression>] [-type ( REQUEST | RESPONSE )]
bind lb vserver v1 -policyName reset_policy -type REQUEST -priority 1
POST リクエストのリクエストリトライの設定
-
AppQoEを有効にする
-
AppQoEアクションの追加
-
AppQoEポリシーの追加
-
負荷分散仮想サーバーをAppQoEポリシーにバインドする
AppQoEを有効にする
enable ns feature appqoe
AppQoEアクションの追加
add appqoe action reset_action -retryOnReset ( YES | NO ) -numretries <positive_integer>]
add AppQoE action reset_action –retryOnReset YES –numretries 5
AppQoEポリシーの追加
add appqoe policy <name> -rule <expression> -action <string>
add appqoe policy reset_policy -rule HTTP.REQ.CONTENT_LENGTH.le(2000) -action reset_action
負荷分散仮想サーバーをAppQoEポリシーにバインドする
bind lb vserver <name> ((<serviceName> (-policyName <string> [-priority <positive_integer>] [-gotoPriorityExpression <expression>] [-type ( REQUEST | RESPONSE )]
bind lb vserver v1 -policyName reset_policy -type REQUEST -priority 1
NetScaler GUIを使用してリクエストリトライ用のAppQoEポリシーを構成する
-
「 AppQoE ポリシー 」ページで、「 追加」をクリックします。
-
-
**名前。**AppQoE ポリシー名
-
**アクション。**アクションを追加または編集します。アクションを作成するには、 AppQoE アクションの作成セクションを参照してください 。
-
式。
HTTP.REQ.CONTENT_LENGTH.le (2000)ポリシー表現を選択または入力します。
-