Wie kann ich einen Load Balancer ausgleichen?


11

Ich bin dabei, eine Webanwendung mit einem Server und einer Datenbank in eine physisch verteilte, hochverfügbare Konfiguration mit Servern an zwei physischen Standorten (vorerst) zu konvertieren. Jetzt brauche ich natürlich einen Load Balancer (in diesem Fall eher einen Reverse Proxy, aber ich werde ihn der Einfachheit halber "Load Balancer" nennen), der Anfragen mywebsitean entweder node1.mywebsiteoder weiterleitet node2.mywebsite. Ich gehe jedoch davon aus, dass hochverfügbare Server keinen Nutzen haben, wenn mein Load Balancer ausfällt. Daher würde ich, so mein Gedankengang, tatsächlich zwei Load Balancer benötigen, einen an jedem Standort. Ich möchte jedoch immer noch einen einzigen externen Zugriffspunkt, daher benötige ich einen Load Balancer für die Load Balancer, der wiederum standortübergreifend verteilt werden muss ... dies geht weiter und weiter.

Was ist also falsch an meiner Argumentation? Wie würde ich in der Praxis eine hohe Verfügbarkeit meiner Load Balancer sicherstellen, vorausgesetzt, jeder der physischen Standorte könnte für einen langen Zeitraum vom Stromnetz getrennt werden?

PS : Mir ist bewusst, dass mein Verständnis der Unterscheidung zwischen HA und Lastausgleich bestenfalls mittelmäßig ist. Was ich möchte, ist ein verfügbarer Server, auch wenn die Stromversorgung an einem Standort ausfällt. Danke für Ihr Verständnis.


1
Haben Sie IP-Failover untersucht? Wenn beide Rechenzentren der gleiche Anbieter sind, sollte dies relativ einfach sein
Smudge

Sie müssen Ihre Knoten in separaten Netzwerken haben? - Wenn es sich im selben LAN befindet, ist HA einfacher einzurichten.
Sandman4

Was ist Ihr Hauptziel - Sie möchten einen Lastenausgleich, dh, Sie möchten Lasten verarbeiten, die höher sind als diejenigen, die für einen einzelnen Server in Ordnung sind, oder Sie möchten HA, was bedeutet, dass Ihre Site auch dann funktionieren soll, wenn ein einzelner Knoten ausfällt?
Sandman4

Antworten:


4

Sie können nicht, weshalb der Lastenausgleich nichts mit der Verfügbarkeit zu tun hat .


2

Zwei Load Balancer sollten ausreichen. Sie verwenden jeweils nur einen Load Balancer. Der Name mywebsite sollte in den VIP aufgelöst werden, der einem der Load Balancer zugewiesen ist.


ist VIP = virtuelle IP? Welcher Teil der Infrastruktur würde das VIP-Routing hosten, dh feststellen, dass eine LB ausgefallen ist, und zur anderen weiterleiten? Wenn es an einem der Orte ist, könnte es auch unten sein ...
Nikolai Prokoschenko

Bei einem VIP gehen die Anfragen an beide LBs und einer von ihnen entscheidet sich zu antworten, basierend darauf, ob er denkt, dass der andere aktiv ist. Dies würde darauf hinweisen, dass sie nicht geografisch getrennt sind, was eine ganz andere Verfügbarkeitsstufe darstellt.
James Ryan

2

Sie können grobe HA und Balancing mit Round-Robin-DNS durchführen, indem Sie es vor Ihre Load Balancer kleben.


Round Robin führt einen Lastausgleich durch, aber wie bei HA - NO. Grundsätzlich wählt der Browser einen der Knoten aus und bleibt dabei. Es hat 50% Chancen, einen guten oder einen schlechten zu treffen.
Sandman4

Nein, das passiert nicht. Die meisten modernen Browser übernehmen alle IPs, einschließlich der schlechten, und versuchen es transparent von den guten. Es ist nicht kinderleicht, funktioniert aber für die überwiegende Mehrheit der Benutzer.
James Ryan

Was bringt dich dazu, so zu denken ? Ich habe es auch gehofft, bis ich es selbst getestet habe. Sowohl Firefox als auch Chrome versuchen 180 Sekunden lang die 1. IP und wechseln dann zur nächsten IP. Sobald Sie zur nächsten Seite wechseln, beginnen sie erneut mit der 1. (nicht reagierenden) IP und warten weitere 180 Sekunden und so weiter. ( serverfault.com/questions/327708/… )
Sandman4

Ja, Sie haben eine 50% ige Chance, dass die allererste Anfrage eine Zeitüberschreitung aufweist, aber sobald dies der Fall ist oder Sie sie aktualisieren, wird sie an die gute IP-Adresse gesendet und in Ordnung abgerufen. Ab der 2. Anfrage geht es nicht mehr zur schlechten IP zurück, sondern bleibt bei der guten.
James Ryan

Yuck. Wir können weiter sagen "es tut" oder "es tut nicht". Probieren Sie es einfach aus und sehen Sie. Wenn Sie auf Aktualisieren klicken, ändert sich nichts (zumindest in Chrome). Sie warten 180 Sekunden, auch wenn Sie auf Stopp klicken und die Seite erneut öffnen.
Sandman4
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.