Load Balancer verteilen Client-Zugriffsanfragen zwischen Backend-Server-Pools mit Hilfe verschiedener Algorithmen, kombiniert mit Echtzeitwissen über die Auslastung und den Zustand der Server im Pool. Dadurch können die eingehenden Verbindungsanfragen auf die Server im Pool verteilt werden, indem sie dem Server zugewiesen werden, der zum Zeitpunkt des Eintreffens der Anfrage am besten geeignet ist, sie zu bearbeiten. Für viele Anwendungen ist dies der beste Weg, um eingehende Anfragen zu bearbeiten. Einige Webanwendungen sind jedoch dynamischer Natur, und eine Benutzersitzung, die mit ihnen interagiert, erfordert mehrere Anfragen, die zwischen den Clients, den Load-Balancern und den Servern im Pool hin- und herfließen. Bei solchen Verbindungen ist es wichtig, dass alle zusammenhängenden Anfragen nach der anfänglichen Verbindungszuweisung an denselben Server im Pool weitergeleitet werden und nicht auf mehrere Server verteilt sind. Dies gilt vor allem für Webanwendungen mit dynamischen Elementen wie Formularen oder Warenkörben, deren Interaktion oder Fertigstellung erhebliche Zeit in Anspruch nehmen kann. Die Sitzungsaffinität ist eine Funktion von Load-Balancern, die es ermöglicht, dass der gesamte nachfolgende Datenverkehr und alle Anfragen aus einer anfänglichen Client-Sitzung an denselben Server im Pool weitergeleitet werden. Sitzungsaffinität wird auch als Sitzungsaufrechterhaltung, Serveraffinität, Serveraufrechterhaltung oder Server-Sticky bezeichnet. Wenn die Sitzungsaffinität auf LoadMaster aktiviert ist, werden alle neuen Verbindungsanfragen von Clients an den Server im Pool weitergeleitet, der sie am besten bearbeiten kann. Wiederkehrende Verbindungsanfragen gehen jedoch an den Server, den sie zuvor benutzt haben. Die Sitzungsaffinität ist bei LoadMaster nicht standardmäßig aktiviert. Wenn sie benötigt wird, kann sie für jeden Virtual Service separat konfiguriert werden, was eine feinkörnige Konfiguration ermöglicht.
Methoden, die die Sitzungsaffinität aktivieren
Die Sitzungsaffinität wird für virtuelle Dienste konfiguriert, die auf Anwendungsebene 7 ausgeführt werden. Sie alle gehen über die grundlegenden IP-Adressen und Portnummern hinaus und bieten eine Reihe von Optionen, die je nach erforderlichem Grad an Persistenz verwendet werden können.Für jede der Sitzungsaffinitätsmethoden gibt es einen konfigurierbaren Timeout-Wert, mit dem die Zeitspanne festgelegt werden kann, in der die Persistenz einer Benutzersitzung gewahrt bleibt. Diese Zeitüberschreitung kann von einer Minute bis zu sieben Tagen eingestellt werden. Die Timeout-Uhr wird beim Aufbau der ursprünglichen Verbindung gestartet. Sie wird neu gestartet, wenn die Verbindung unterbrochen und innerhalb der Zeitspanne wiederhergestellt wird. Wenn die Zeitüberschreitung beispielsweise auf 30 Minuten eingestellt ist und eine Sitzung um 15:00 Uhr beginnt und 12 Minuten dauert, dann verbindet sich derselbe Benutzer um 15:26 Uhr erneut mit demselben realen Server im Pool und die Zeitüberschreitung wird auf 30 Minuten zurückgesetzt. Die Zeitüberschreitung der Sitzungsaffinität würde in diesem Fall also 15:56 betragen. Wird die Verbindung vor dieser Zeit unterbrochen und wiederhergestellt, wird die Timeout-Uhr wieder auf 30 Minuten zurückgesetzt.
Do you have application delivery questions? Our engineers would love to help!
Schedule a Call