Citrix ADC

Wiederholungsversuche anfordern

Wenn ein Back-End-Server eine TCP-Verbindung zurücksetzt, leitet die Request Retry Feature die Anforderung an den nächsten verfügbaren Server weiter, anstatt den Reset an den Client zu senden. Durch den Neulastenausgleich speichert der Client RTT, wenn die Appliance dieselbe Anforderung an den nächsten verfügbaren Dienst initiiert.

Die Anforderung Wiederholungsfunktion ist für das folgende Fehlerszenario anwendbar:

  • Der Backend-Server setzt eine TCP-Verbindung zurück, wenn die Appliance ein Anforderungsdatenpaket sendet.

Funktionsweise der Wiederholung der Anforderung

Das folgende Diagramm zeigt, wie Komponenten miteinander interagieren.

Funktionsweise der Wiederholung der Anforderung

  1. Der Prozess beginnt mit der Aktivierung der AppQoE-Funktion auf Ihrer Appliance.
  2. Wenn der Client eine HTTP- oder HTTPS-Anforderung sendet, sendet der virtuelle Lastausgleichsserver die Anforderung an den Back-End-Server.
  3. Wenn der angeforderte Dienst nicht verfügbar ist, setzt der Backend-Server die TCP-Verbindung zurück.
  4. Wenn für die AppQoE-Konfiguration “Wiederholen” aktiviert ist und die gewünschte Anzahl von Wiederholungsversuchen angegeben ist, verwendet der virtuelle Lastausgleichsserver den konfigurierten Load Balancing-Algorithmus, um die Anforderung an den nächsten verfügbaren Anwendungsserver weiterzuleiten.
  5. Nachdem der virtuelle Lastausgleichsserver die Antwort empfangen hat, leitet die Appliance die Antwort an den Client weiter.
  6. Wenn die verfügbaren Back-End-Server gleich oder kleiner als die Anzahl der Wiederholungsversuche sind und wenn alle Server zurückgesetzt werden, reagiert die Appliance auf einen internen Serverfehler 500. Betrachten Sie ein Szenario mit fünf verfügbaren Servern und die Anzahl der Wiederholungen auf sechs. Wenn alle fünf Server die Verbindung zurücksetzen, gibt die Appliance einen internen Serverfehler von 500 an den Client zurück.
  7. Wenn die Anzahl der Back-End-Server höher ist als die Anzahl der Wiederholungsversuche und die Back-End-Server die Verbindung zurücksetzen, leitet die Appliance das Zurücksetzen an den Client weiter. Betrachten Sie ein Szenario mit drei Back-End-Servern und der Wiederholungsanzahl als zwei. Wenn die drei Server die Verbindung zurücksetzen, sendet die Appliance eine Reset-Antwort an den Client.

Konfigurieren der Wiederholung der Anforderung für die GET-Methode

Zum Konfigurieren der Wiederholungsfunktion für die GET-Methode müssen Sie die folgenden Schritte ausführen.

  1. AppQoE aktivieren
  2. Add AppQoE action
  3. Add AppQoE policy
  4. Binden des virtuellen Lastausgleichs an die AppQoE-Richtlinie

AppQoE aktivieren

Geben Sie an der Eingabeaufforderung Folgendes ein: enable ns feature appqoe

Add AppQoE action

Sie müssen eine AppQoE-Aktion konfigurieren, um anzugeben, ob die Appliance nach einem TCP-Zurücksetzen und die Anzahl der Wiederholungsversuche wiederholen soll.

add appqoe action reset_action -retryOnReset ( YES | NO ) -numretries <positive_integer>]

Beispiel:

add appqoe action reset_action –retryOnReset YES –numretries 5

Wo, RetryOnReset. Aktivieren Sie den Wiederholungsversuch, wenn der Back-End-Server eine TCP-Verbindung zurücksetzt. Numretries. Wiederholungsversuche zählen.

Add AppQoE policy

Um AppQoE zu implementieren, müssen Sie die AppQoE-Richtlinie so konfigurieren, dass eingehende HTTP- oder SSL-Anforderungen in einer bestimmten Warteschlange priorisiert werden.

Geben Sie an der Eingabeaufforderung Folgendes ein:

add appqoe policy <name> -rule <expression> -action <string>

Beispiel:

add appqoe policy reset_policy -rule http.req.method.eq(get) -action reset_action

Binden des virtuellen Lastausgleichs an die Appqoe-Richtlinie

Wenn ein Back-End-Server eine TCP-Paketanforderung zurücksetzt und der virtuelle Lastausgleichsserver die Anforderung an den nächsten verfügbaren Dienst weiterleitet, müssen Sie den virtuellen Lastausgleichsserver an die AppQoE-Richtlinie binden.

Geben Sie an der Eingabeaufforderung Folgendes ein:

bind lb vserver <name> ((<serviceName> (-policyName <string> [-priority <positive_integer>] [-gotoPriorityExpression <expression>] [-type ( REQUEST | RESPONSE )]

Beispiel:

bind lb vserver v1 -policyName reset_policy -type REQUEST -priority 1

Konfigurieren der Wiederholung der Anforderung für POST-Anfragen

Sie müssen immer Vorsicht walten lassen, wenn Sie Balance-Anforderungen neu laden, die Daten in den Back-End-Server schreiben. Stellen Sie bei solchen Anfragen sicher, dass die Länge des Inhalts kurz ist. Wenn die Inhaltslänge lang ist, kann dies zu Ressourcenverbrauch führen. Befolgen Sie die unten angegebenen Schritte, um den Neulastenausgleich für POST-Anfragen zu konfigurieren.

  1. AppQoE aktivieren
  2. Add AppQoE action
  3. Add AppQoE policy
  4. Binden des virtuellen Lastausgleichs an die AppQoE-Richtlinie

AppQoE aktivieren

Geben Sie an der Eingabeaufforderung Folgendes ein:

enable ns feature appqoe

Appqoe Aktion hinzufügen

Sie müssen eine AppQoE-Aktion hinzufügen, um den Vorgang nach einem TCP-Zurücksetzen und der Anzahl der Wiederholungsversuche wiederholen zu können.

add appqoe action reset_action -retryOnReset ( YES | NO ) -numretries <positive_integer>]

Beispiel:

add appqoe action reset_action –retryOnReset YES –numretries 5

Appqoe-Richtlinie hinzufügen

Um AppQoE zu implementieren, müssen Sie AppQoE-Richtlinie konfigurieren, um festzulegen, wie die Verbindungen in einer bestimmten Warteschlange in die Warteschlange gestellt werden

Geben Sie an der Eingabeaufforderung Folgendes ein:

add appqoe policy <name> -rule <expression> -action <string>

Beispiel:

add appqoe policy reset_policy -rule HTTP.REQ.CONTENT_LENGTH.le(2000) -action reset_action

Hinweis:

Sie können diese Konfiguration verwenden, wenn Sie die Wiederholungsfunktion für die Anforderung auf eine Inhaltslänge von weniger als 2000 beschränken möchten.

Binden des virtuellen Lastausgleichs an die AppQoE-Richtlinie

Wenn ein Back-End-Server eine TCP-Paketanforderung zurücksetzt und der virtuelle Lastausgleichsserver die Anforderung über eine bestimmte Warteschlange an den nächsten verfügbaren Dienst weiterleitet, müssen Sie den virtuellen Lastausgleichsserver an die AppQoE-Richtlinie binden.

Geben Sie an der Eingabeaufforderung Folgendes ein:

bind lb vserver <name> ((<serviceName> (-policyName <string> [-priority <positive_integer>] [-gotoPriorityExpression <expression>] [-type ( REQUEST | RESPONSE )]

Beispiel: bind lb vserver v1 -policyName reset_policy -type REQUEST -priority 1

Konfigurieren der AppQoE-Richtlinie für die Wiederholung der Anforderung mithilfe der Citrix ADC Benutzeroberfläche

  1. Navigieren Sie zu AppExpert > AppQoE > Richtlinien.
  2. Klicken Sie auf der Seite AppQoE-Richtlinien auf Hinzufügen.
  3. Legen Sie auf der Seite AppQoE-Richtlinie erstellen die folgenden Parameter fest: a. Name. AppQoE-Richtlinienname b. Aktion. Fügen Sie eine Aktion hinzu oder bearbeiten Sie sie. Informationen zum Erstellen einer Aktion finden SieAppQoE-Aktion erstellen im Abschnitt. c. Ausdruck. Wählen oder geben SieHTTP.REQ.CONTENT_LENGTH.le (2000) Richtlinienausdruck ein.
  4. Klicken Sie auf Erstellen und Schließen.

    AppQoE-Richtlinie für Request Retry oder Reload Balancing

Konfigurieren der AppQoE-Aktion für den Neuausgleich von Anforderungsversuchen mithilfe der Citrix ADC Benutzeroberfläche

  1. Navigieren Sie zu AppExpert > AppQoE > Aktion.
  2. Klicken Sie auf der Seite AppQoE-Aktionen auf Hinzufügen.
  3. Legen Sie auf der Seite AppQoE-Aktion erstellen die folgenden Parameter für den Wiederholungsversuch beim TCP-Zurücksetzen fest: a. Wiederholen Sie den Vorgang beim TCP-Zurücksetzen. Aktivieren Sie das Kontrollkästchen, um die Wiederholungsaktion für das TCP-Zurücksetzen zu aktivieren. b. Wiederholen Sie Zählung. Geben Sie die Anzahl der Wiederholungen ein.
  4. Klicken Sie auf Erstellen und Schließen.

    Konfigurieren der AppQoE-Aktion für den Neuausgleich von Anforderungsversuchen

Wiederholungsversuche anfordern