Ein optimaler Lastausgleich kann sehr teuer und kompliziert sein. Der grundlegende Lastenausgleich sollte lediglich sicherstellen, dass jeder Server zu jeder Zeit ungefähr die gleiche Anzahl von Treffern verarbeitet.
Die einfachste Methode zum Lastenausgleich besteht darin, mehrere A-Einträge in DNS bereitzustellen. Standardmäßig wird die IP-Adresse in einer Round-Robin-Methode konfiguriert. Dies führt dazu, dass die Benutzer relativ gleichmäßig auf die Server verteilt sind. Dies funktioniert gut für zustandslose Sites. Eine etwas komplexere Methode ist erforderlich, wenn Sie eine Stateful-Site haben.
Um Statusanforderungen zu verarbeiten, können Sie Weiterleitungen verwenden. Weisen Sie jedem Webserver eine alternative Adresse zu, z. B. www1, www2, www3 usw. Leiten Sie die ursprüngliche www-Verbindung zur alternativen Adresse des Hosts um. Auf diese Weise können Lesezeichenprobleme auftreten, die jedoch gleichmäßig auf die Server verteilt sein sollten.
Wenn Sie alternativ einen anderen Pfad verwenden, um anzugeben, welcher Server die zustandsbehaftete Sitzung abwickelt, können Sie Sitzungen, bei denen der Host auf den ursprünglichen Server umgeschaltet wurde, auch per Proxy weiterleiten. Dies kann ein Problem sein, wenn die Sitzung für einen ausgefallenen Server auf einem Server eintrifft, der vom ausgefallenen Server übernommen wurde. Wenn Sie die Cluster-Software nicht aktivieren, fehlt der Status jedoch. Aufgrund von Browser-Caching treten möglicherweise nicht viele Sitzungen auf, in denen die Server gewechselt werden.
Failover kann durch Konfigurieren des Servers zur Übernahme der IP-Adresse eines ausgefallenen Servers durchgeführt werden. Dies minimiert die Ausfallzeit, wenn ein Server ausfällt. Ohne Clustering-Software gehen zustandsbehaftete Sitzungen verloren, wenn ein Server ausfällt.
Ohne Failover kommt es zu einer Verzögerung, bis der Browser auf die nächste IP-Adresse umschaltet.
Durch die Verwendung von Restful-Diensten anstelle von Stateful-Sitzungen sollten Clusterprobleme im Front-End behoben werden. Clustering-Probleme auf der Speicherseite würden weiterhin auftreten.
Selbst wenn sich Load Balancer vor den Servern befinden, haben Sie wahrscheinlich Round-Robin-DNS vor sich. Dadurch wird sichergestellt, dass alle Ihre Load Balancer verwendet werden. Sie fügen Ihrem Entwurf eine weitere Ebene hinzu, die komplexer und fehleranfälliger ist. Sie können jedoch einige Sicherheitsfunktionen bereitstellen.
Die beste Lösung hängt von den jeweiligen Anforderungen ab.
Das Implementieren von Image-Servern zur Bereitstellung von Inhalten wie Bildern, CSS-Dateien und anderen statischen Inhalten kann die Belastung der Anwendungsserver verringern.