Simple Lastenverteilung

Hagbard-Celine

New Member
Hallo Leute,

ich habe mal eine Frage die sich um LoadBalancing handelt, ich habe sowas selber noch nie gemacht und habe allgemein nicht DIE AHNUNG von Servern.

Aber folgende Ausgangslage.
Wir haben einen Root-Server auf den ein XT-Commerce Shop läuft, dieser hält leider keine große Userlast aus, wir möchten aber bald wieder eine Aktion starten bei der wir mit mehreren Tausend Zugriffen in kurzer Zeit rechnen.

Wir haben einen zweiten, viel leistungsstärken Root Server auf dem wir gerne eine statische HTML Seite vlt. auch PHP-Seite hinterlegen wollen.

Folgendes soll nun geschehen:

1) Kunde ruft Domain auf
2) Weiterleitung auf ROot Server mit statischer Seite
3) Kunde klickt ein Link auf der statischen Seite an
4) Kontrolle ob der ShopServer noch einen "Slot" frei hat
5) Wenn ja Zugriff gewähren, wenn nein Info einblenden

Wie könnte man dies ohne großen Aufwand umsetzen, und am besten 3 LoadBalancer Server. Wäre cool wenn Ihr irgendwelche Ideen, Stichwörter oder der gleichen für mich hättet.

Vielen Dank schon mal

Grüße Hagbard.
 
Schau dir doch mal pound an: serverzeit.de - Schritt für Schritt zum eigenen Server - pound - reverse proxy

Pound kann genau das was du willst. Es prüft ob ein Server für die aufgerufene URL verfügbar ist und leitet entsprechend weiter. Sind alle Server belegt bzw. melden alle Server, dass sie nicht erreichbar sind, dann wird eine statische Info-Seite eingeblendet.

Ich nutze pound seit langem und bisher nur sehr gute Erfahrungen gemacht. Die Konfiguration ist ebenfalls sehr einfach.

Wenn du Fragen hast kannst du dich gerne an mich wenden.
 
Man kann mit dem DNS auch eine einfache art von Loadbalancing machen, ist eher die klassiche art.

Oder Lighttpd probieren.

Welche xt Version wird denn verwendet ?
 
@Armin: Wie willst du das mit dem DNS machen? Einfaches Round-Robin? RR würde ich aber nicht als "klassische Art" bezeichnen, oder was meinst du mit klassisch?
 
Hallo,

Ich werf einfach mal Keepalived und ldirectord ein.
Beide Lösungen basieren auf LVS und können genau das was du suchst.

Gruß,
Michael
 
Das würde ich aber nicht als "echtes" LoadBalancing betrachten. Was machst du denn, wenn der Server 1 zusammenbricht? Nach DNS wäre dieser Server aber dann wieder an der Reihe => unerreichbar. Eventuell kann das auch mit dem Sessions im Shop Probleme machen, je nach dem, ob und wie lange die Namensauflösung gecacht wird.

Oder übersehe ich was wichtiges?

EDIT: ldirectord benötigt aber für die statische Antwort eine eigene Webserver-Instanz, was mehr Wartungsaufwand bedeutet.
 
Last edited by a moderator:
Im Prinzip hast du recht, wenn 1 weg ist gibt's Fehlermeldungen.

Das mit den Sessions ist auch wieder so, ich weiß nicht wie der Shop was speichert.

Ich finde es ist Loadbalancing, auch wenn sehr einfach ist.
 
Es ist sicherliche eine Art von LoadBalancing, aber für Produktivsysteme eher ungeeignet. Denn stell dir vor ein Server fällt aus der an der Reihe wäre, der Client cached diesen Server aber für ca. 24h oder länger.

Wenn der Server länger down ist, hast du ein Problem und verlierst ggf. einen Kunden.

Ich lasse mich auf den Kompromiss ein, dass es per DNS ein rudimentäres/einfaches LoadSpreading ist, allerdings ohne FailOver :)
 
Deswegen hat mein Server 2 Netzwerkkabel -> 2 seperate Leitungen, und hängt mit 2 Netzteilen an 2 verschiedenen Stromkreisen, wobei ein Kabel in die APC USV geht. Festplatten arbeiten im Raid 5.

Wenn da was Ausfällt, weiß ich auch nicht mehr.
 
Back
Top