Citrix ADC

Persistenzunterstützung für Content Switching virtueller Server

Anwendungen bewegen sich von monolithischen Architekturen hin zu Microservices-Architektur. Verschiedene Versionen derselben Anwendung können in der Microservices-Architektur koexistieren. Die Citrix ADC Appliance muss die kontinuierliche Bereitstellung von Anwendungen unterstützen. Dies wird normalerweise von Plattformen erreicht, die Canary-Bereitstellungen durchführen (z. B. Spinnaker). Bei einer kontinuierlichen Bereitstellung wird eine neuere Version einer Anwendung automatisch bereitgestellt und dem Clientdatenverkehr in Stufen ausgesetzt, bis die Anwendung stabil ist, um vollständigen Datenverkehr zu übernehmen. Außerdem müssen ununterbrochene Dienste für den Client vorhanden sein.

Mit der Citrix ADC-Content-Switching-Funktion kann Citrix ADC die Appliance Clientanforderungen auf mehrere virtuelle Server mit Lastenausgleich verteilen, basierend auf den Richtlinien, die an den virtuellen Server für den Content Switching gebunden sind.

Bei kontinuierlichen Bereitstellungen wird die Inhaltsumschaltung verwendet, um den virtuellen Lastausgleichsserver auszuwählen, der verschiedene Versionen einer Anwendung bedient.

Beim Content-Switching ändert sich die Auswahl des virtuellen Lastenausgleichsservers für eine bestimmte Anwendungsversion zur Laufzeit aufgrund der Änderung der Inhaltswechselrichtlinien. Wenn während dieses Übergangs einige Sitzungen mit älteren Versionen der Anwendung vorhanden sind, muss dieser Datenverkehr weiterhin nur von älteren Versionen bedient werden. Um diese Anforderung zu erfüllen, behält die Citrix ADC Appliance die Persistenz über mehrere Lastausgleichsgruppen hinter einem virtuellen Server mit Content Switching bei. Persistenz für Content Switching virtueller Server ermöglicht einen nahtlosen Übergang von Clients von einer Version zur anderen.

Unterstützte Persistenztypen auf einem virtuellen Server zum Wechseln von Inhalten

Die folgenden Persistenztypen werden auf virtuellen Servern zum Wechseln von Inhalten unterstützt.

Persistenzart Beschreibung
Quell-IP SOURCEIP. Verbindungen von derselben Client-IP-Adresse sind Teile derselben Persistenzsitzung. Weitere Informationen finden Sie unter Persistenz der Quell-IP-Adresse.
HTTP-Cookie COOKIEINSERT. Verbindungen, die denselben HTTP-Cookie-Header haben, sind Teile derselben Persistenzsitzung. Das Cookie-Format, das von der Citrix ADC Appliance eingefügt wird, lautet: **NSC_ <vid_str of CSvserver> = <vid_str of Lbvserver> wobei NSC_XXXX die virtuelle Server-ID ist, die vom virtuellen Servernamen abgeleitet wird. Weitere Informationen finden Sie unter HTTP-Cookie-Persistenz.
SSL-Sitzungs-ID SSLSESSION. Verbindungen, die dieselbe SSL-Sitzungs-ID haben, sind Teile derselben Persistenzsitzung. Weitere Informationen finden Sie unter SSL-Sitzungs-ID-Persistenz.

Sie können einen Timeout-Wert für die Persistenz konfigurieren, der auf HTTP-Cookies basiert. Wenn Sie den Timeout-Wert auf 0 festlegen, gibt die ADC-Appliance unabhängig von der verwendeten HTTP-Cookie-Version die Ablaufzeit nicht an. Die Ablaufzeit hängt dann von der Client-Software ab, und solche Cookies sind nur gültig, wenn die Software läuft.

Abhängig vom Typ der Persistenz, die Sie konfiguriert haben, kann der virtuelle Server entweder 250.000 gleichzeitige persistente Verbindungen oder eine beliebige Anzahl persistenter Verbindungen unterstützen, bis zu den Grenzwerten, die der Arbeitsspeicher auf Ihrer Citrix ADC Appliance auferlegt wird. Die folgende Tabelle zeigt, welche Persistenzarten in jede Kategorie fallen.

Persistenzart Anzahl der gleichzeitig unterstützten persistenten Verbindungen
Quell-IP, SSL-Sitzungs-ID 250,000
HTTP-Cookie Speicherbegrenzung. Wenn in CookieInsert ein Timeout nicht 0 ist, wird die Anzahl der Verbindungen durch den Speicher begrenzt.

Einige Persistenzarten sind spezifisch für bestimmte Arten von virtuellen Servern. In der folgenden Tabelle werden die einzelnen Persistenztypen aufgelistet und angegeben, welche Persistenzarten auf welchen Arten von virtuellen Servern unterstützt werden.

Persistenzart HTTP HTTPS TCP UDP/IP SSL_Bridge SSL_TCP RTSP SIP_UDP
SOURCEIP Ja Ja Ja Ja Ja Ja Nein Nein
COOKIEINSERT Ja Ja Nein Nein Nein Nein Nein Nein
SSLSESSION Nein Ja Nein Nein Ja Ja Nein Nein

Unterstützung für Backup-Persistenzunterstützung

Sie können den virtuellen Content Switching Server so konfigurieren, dass der Quell-IP-Persistenztyp als Sicherungspersistenztyp verwendet wird, wenn der Cookie-Persistenztyp fehlschlägt. Dies ist nützlich für Kanarien-Bereitstellungen in der Microservices-Architektur. Wenn der Cookie-Persistenztyp fehlschlägt, greift die Appliance nur dann auf die Quell-IP-basierte Persistenz zurück, wenn der Client-Browser kein Cookie in der Anforderung zurückgibt. Wenn der Browser jedoch ein Cookie zurückgibt (nicht notwendigerweise das Persistenz-Cookie), wird davon ausgegangen, dass der Browser Cookies unterstützt und somit Backup-Persistenz nicht ausgelöst wird. Sie können auch einen Timeout-Wert für die Backup-Persistenz festlegen. Timeout ist der Zeitraum, für den eine Persistenzsitzung in Kraft ist.

Funktionsweise der Persistenz des virtuellen Servers zum Wechseln von Inhalten

Szenario 1: Ein virtueller Content Switching Server ohne Persistenz

Das folgende Beispiel veranschaulicht die Bereitstellung mehrerer Versionen einer Anwendung mit einem virtuellen Content Switching-Server ohne Persistenz.

persistence-cs1

Wenn Client C1 eine Anforderung an die Anwendung sendet, wird die Anforderung an den virtuellen Content Switching-Server in der Citrix ADC Appliance gesendet. Der virtuelle Inhaltsvermittlungsserver wertet die Richtlinie aus und leitet die Anforderung an den virtuellen Lastausgleichsserver (LB1) weiter, der Version v1 der Anwendung bereitstellt.

persistence-cs2

Betrachten Sie, dass eine neue Version v2 der Anwendung bereitgestellt wird und einer Teilmenge von Benutzern zugänglich gemacht werden muss. Der neue virtuelle Lastenausgleichsserver (LB2), der die v2-Version bereitstellt, ist durch entsprechende Inhaltswechselrichtlinie an den virtuellen Server gebunden.

Wenn Client C1 eine neue Anforderung sendet, wird die Richtlinie erneut ausgewertet und die Anforderung wird an den virtuellen Lastausgleichsserver LB2 weitergeleitet. Daher schlagen die Transaktionen für statusbehaftete Anwendungen fehl, wenn mehrere Versionen der Anwendung bereitgestellt werden.

Szenario 2: Content Switching virtueller Server mit Persistenz

Das folgende Beispiel veranschaulicht die Bereitstellung mehrerer Versionen der Anwendung mit einem Content Switching virtuellen Server mit Persistenz.

persistence-cs3

Wenn Client C1 eine Anforderung an die Anwendung sendet, wird die Anforderung an den virtuellen Content Switching-Server in der Citrix ADC Appliance gesendet. Der virtuelle Inhaltswechselserver wertet die Richtlinie aus, erstellt Persistenzsitzungseintrag und leitet die Anforderung an den virtuellen Lastausgleichsserver LB1 weiter, der Version v1 der Anwendung bereitstellt.

persistence-cs4

Dasselbe Client C1 fordert erneut für die Anwendung an, und die Anforderung wird an den virtuellen Content Switching-Server in der Citrix ADC Appliance gesendet. Eine Suche nach der Persistenzsitzung wird durchgeführt, und der virtuelle Lastausgleichsserver LB1 wird aus der vorhandenen Persistenzsitzung entnommen und die Anforderung wird an LB1 weitergeleitet. Bei dieser Lösung geschieht kein Bruch bestehender Transaktion; daher bleibt der statusbehaftete Charakter der Anwendung erhalten.

persistence-cs5

Betrachten wir einen neuen Client C2. Die neue Anforderung C2 wird über die Richtlinienbewertung an die neuere Version der Anwendung gesendet, da für diesen Client keine Persistenzsitzung vorhanden ist. Dies führt zu einem erfolgreichen Rollout der neueren Version der Anwendung, ohne ihre Statefulness zu brechen.

Aufgrund der Persistenzunterstützung können Kunden mehrere Inhalte oder verschiedene Versionen der Anwendung nahtlos bereitstellen, ohne die vorhandenen Transaktionen zu beeinträchtigen, insbesondere für statusbehaftete Anwendungen. Dies war ohne Persistenz im Bild nicht möglich.

Konfigurieren des Persistenztyps auf dem virtuellen Content Switching Server mit der CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

set cs vserver <name> -PersistenceType <type> [-timeout <integer>]

Beispiel:

set cs vserver Vserver-CS-1 -persistenceType SOURCEIP -timeout 60

Konfigurieren des Persistenztyps auf dem virtuellen Server zum Wechseln von Inhalten mit der GUI

  1. Navigieren Sie zu Traffic Management > Content Switching > Virtuelle Server, und klicken Sie auf Hinzufügen .

  2. Konfigurieren Sie in den Grundeinstellungendie Persistenzdetails.