So bereitest Du Deinen Onlineshop auf hohe Besucherzahlen vor

compositiv-header-shopware-load-balancing

Schnelle Ladezeiten, kurze Reaktionszeiten und sichere Shopsysteme sind Grundlage eines jeden Onlineshops. Um insbesondere bei Trafficspitzen das volle Umsatzpotenzial auszuschöpfen und dem Totalausfall des Webshops ein Schnippchen zu schlagen, hat Marvin Stark, technischer Leiter von compositiv und Verantwortlicher für shopwarehosting.de nützliche Methoden zusammengetragen, wie Onlineshops auch bei steigenden Besucherzahlen ausfallsicher bleiben.

Schlechte Ladezeiten sind ein No-Go Bereits ein paar Sekunden reichen aus, damit sich der potentielle Käufer abwendet. Die Folgen, wie sinkender Umsatz, sind nur schwer wieder gut zu machen. Denn wenn der Kunde sich erst einmal für den Konkurrenzshop entschieden hat, wird er nur schwer den Weg zurück auf den eignen OnlineShop finden. Was also tun, um dieses Szenario zu umgehen?

Die Antwort heißt: Redundanzen in Form von Load Balancing schaffen.

Aber was ist Load Balancing genau? Der Begriff Load Balancing (zu Deutsch: Lastverteilung) beschreibt im Allgemeinen eine Art Arbeitsverteilung. Stellt euch bspw. ein riesiges Lager vor. Der Lagerverantwortliche nimmt die Aufträge des Kunden entgegen und verteilt diese an die einzelnen Lageristen. Diese wiederum suchen die jeweilige Ware und beliefern den Kunden. Dasselbe Prinzip gilt auch für Onlineshops: Die Kunden rufen ihren Shop auf, der Load Balancer bearbeitet die Anfragen und verteilt den Datenverkehr nach vordefinierten Regeln an die einzelnen Server. Ziel ist es: Trotz hohen Ansturm auf euren Shop ein schnelles und aufregendes Einkaufserlebnis für eure Kunden bereitzustellen.

Technisch gibt es eine Vielzahl von unterschiedlichen Methoden und Lösungen, um eine Lastverteilung bei Webseiten bzw. Onlineshops vorzunehmen. Von dem einfachen DNS (Domain Name System) Balancing bis hin zu modernen Load Balancing Methoden inkl. Healtchecks, Scoring und vielen mehr.

Folgende drei Varianten sind denkbar, wobei wir euch insbesondere den modernen NAT-basierten Load Balancer näher vorstellen möchten:

1) Klassische DNS Variante: Leicht einzurichten und für simples Load Balancing geeignet

Eines vorweg: Diese Methode wird in der Praxis eher selten verwendet, da sie viele Attribute nicht berücksichtigt. Bei dieser Methode, ist das DNS selbst für die Lastverteilung zuständig. Dazu werden eurer eigenen Domain weitere IP-Adressen im DNS hinzugefügt unter denen euer Shop erreichbar ist. Hinter jeder IP befindet sich ein eigenständiger Server. Die Anfragen des Clients werden dabei wiederkehrend vom DNS mit den eingetragenen IP-Adressen bearbeitet.

2) Einfache, aber effektive Methode: Load Balancing inkl. Round Robin Verfahren

Das Round-Robin-Verfahren kommt mit einer IP-Adresse aus. Hinter dieser IP-Adresse verbirgt sich ein NAT-Proxy, welcher die Anfragen an die dahinterliegenden Server verteilt. Der Vorteil bei dieser Methode ist, dass nur eine IP-Adresse benötigt wird und die Server zusätzlich geschützt sind. Nachteil ist, dass der komplette Traffic über den NAT-Proxy geht. Hier muss also bei gut besuchten Shops für ausreichende Redundanzen und Sicherheiten gesorgt werden.

Anders sieht es bei folgender Load-Balancing Lösung aus:

3) Load Balancing über NAT inkl. Healthchecks und Sessionhandling

Bei dieser Methode wird ebenfalls, wie im Round-Robin-Verfahren beschrieben, auf einen NAT-Proxy zurückgegriffen. Je nach Konfiguration werden hier aber weitere Attribute wie: der Typ der Verbindung, die Auslastung und Zustand des Servers, sowie viele weitere konfigurierbare Optionen berücksichtigt.

Dieses Setup ist sehr flexibel und kann mit weiteren Features wie z.B. Gewichtung (Server mit stärkerer Hardware kann mehr Verbindungen verarbeiten) ganz individuell an eure Bedürfnisse angepasst und erweitert werden.
Shopware-Blog-LB-Grafik-860x805

Shopware Load Balancing Cluster: Aufbau und Aufruf des Shops schematisch dargestellt.

Was passiert hier im Detail?

Die Darstellung zeigt, dass die einzelnen Anfragen durch einen redundanten Load Balancer auf die einzelnen Serversysteme verteilt werden. Durch die Verteilung der Aufgaben sind zum einen schnelle Reaktionszeiten möglich, zum anderen sind Ausfälle einzelner Server kompensierbar, da die Anfragen nach vorgefertigten Kriterien an die übrigen Server weitergeleitet werden. Durch das Hinzufügen weiterer Server ist das System in Zukunft horizontal skalierbar. Für Administratoren birgt dieses Setup ebenfalls den Vorteil, dass flexible Wartungsmöglichkeiten entstehen.

Was benötige ich, um Load Balancing für meinen Shop zu realisieren?

Da der Load Balancer ja die Aufgabe hat die Anfrage-Lasten entsprechend zu verteilen, benötigt er zur Lastverteilung mindestens zwei Server. Im besten Fall ist die Hardware, wie zum Beispiel Netzteile, Festplatten oder die Netzwerkkomponenten, bereits redundant konfiguriert.
Ein Einsteigersetup besteht also immer mindestens aus 4 Servern.

Macht Load Balancing für meinen Shop Sinn? Wer hilft mir bei der Umsetzung und Installation?

Melde dich einfach bei uns! Marvin Stark ist technischer Leiter bei compositiv und Experte in Sachen Shopware Hosting sowie Verantwortlicher für die eigens geführte Marke shopwarehosting.de. Die compositiv GmbH ist der erste offizielle Shopware Hosting Partner und bietet vielseitige Lösungen und Systeme an, um Onlineshops erfolgreich zu führen.

comments powered by Disqus