In diesem Artikel wird kurz erklärt, wie Sie Ihren Server ohne Ausfallzeiten aktualisieren können.
Stellen Sie sich ein einfaches 2-Tier-Architektur-Setup mit einem Load Balancer und zwei darauf laufenden Webservern vor.
Jeder Server kann einzeln aufgerüstet werden, ohne dass es zu Ausfallzeiten kommt und somit Störungen für die angemeldeten Benutzer vermieden werden. Dies geschieht wie unten beschrieben.
Schritt 1: Wir entfernen einen Server aus der Schleife, indem wir ihn im Load Balancer deaktivieren. Der rote Pfeil zeigt an, dass der Load Balancer angewiesen wurde, keinen regelmäßigen Datenverkehr an den Webserver zu senden.
Schritt 2: Wir aktualisieren den ausgewählten Webserver, der vor normalen Benutzern verborgen ist. Nach dem Upgrade können wir es testen, indem wir den Load Balancer anweisen, den aktualisierten Server für bestimmten Datenverkehr auszuwählen. Der Load Balancer kann so konfiguriert werden, dass er den deaktivierten App-Server basierend auf dem Vorhandensein eines bestimmten Cookies oder einer bestimmten URL in der HTTP-Anforderung verwendet. Dadurch kann das jeweilige Team Funktionstests auf dem Server durchführen, ohne die regulären Benutzer zu beeinträchtigen.
Schritt 3: Wir können Funktionstests auf aktualisierten Servern in der Produktion durchführen, um sicherzustellen, dass mit der neuen Version alles in Ordnung ist. Nachdem wir bestätigt haben, dass alles ordnungsgemäß funktioniert, können wir den Datenverkehr zum aktualisierten Server wieder aufnehmen. Jetzt haben wir sowohl aktualisierte als auch nicht aktualisierte Server, die zusammen in der Umgebung laufen. Wenn ein Benutzer nicht auf demselben App-Server verbleibt, kann dies ein Problem darstellen. Der Benutzer sieht möglicherweise unterschiedliche Freigaben für unterschiedliche Anforderungen, was unerwünscht ist. Hier kommt der Load Balancer ins Spiel. Load Balancer kann so konfiguriert werden, dass der Benutzer dauerhaft auf demselben App-Server bleibt. Dadurch wird sichergestellt, dass ein Benutzer immer denselben App-Server sieht, solange der App-Server aktiviert ist. Es wird empfohlen, diese Option zusammen mit der Sitzungsfreigabe über App-Server zu verwenden, damit der Benutzer nicht beeinträchtigt wird, wenn der ausgewählte App-Server für die Benutzersitzung offline geschaltet wird.
Schritt 4: Jetzt werden wir die gleichen Schritte auch für den anderen Webserver ausführen (Traffic deaktivieren -> Server aktualisieren -> Tests durchführen -> Traffic aktivieren)
Mit den obigen Schritten haben wir unsere beiden Webserver aktualisiert, ohne dass es zu Ausfallzeiten kam. Diese Methode kann auf Architekturen angewendet werden, die über mehr Ebenen und mehr Instanzen verfügen, die darüber bereitgestellt werden.