PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : load balancing



H-net
22.05.07, 12:43
hi...

ich habe vor ei nload balancing system aufzubauen... 1 laod balancer und 3 backend server... es gibt ja einige load-balancer wie z.B. pound..

aber ich denke da ja pound ein proxy ist, wird das dann der "Flaschenhals" des systems sein, da ja sämmtliche anfragen und rückgaben über den server laufen auf dem pound installiert ist...

habe mich da erkundigt... es gibt ip-tunnelung (IP Encapsulation). Das bedeutet das der backendserver eine anfrage vom load balancer bekommt, und der backend server direkt der anfrage-ip antwortet (es läuft sozusagen nicht mehr über den proxy zurück)...

nun meine frage, brauche ich dann trozdem noch einen load-balancer-dienst wie pound? oder läuft das dann alles von selber? (sorry.. neuling mit sowas)

hat jemand da erfahrung?

vielen dank für antworten....

marce
22.05.07, 13:09
ich kenne pound nicht - aber es sollte eigentlich möglich sein, dass die Antworten am LB vorbei gehen (einen Gateway brauchen sie aber trotzdem noch) - das eine oder andere System wird also immer der Flaschenhals sein...

Die Frage ist: warum willst Du loadbalancen? Traffic? Last? Ausfallsicherheit? Je nach Bedarf gibt es auch andere Methoden (z.B. über DNS)...

bla!zilla
22.05.07, 13:17
Ein DNS round-robin dürfte die Last am besten und einfachsten verteilen, zumindest solange, wie die Maschinen ungefähr die gleiche Performance haben. Sobald eine Maschine dabei ist, die weniger Anfragen verpackt, wird es mit DNS round-robin schwer.

H-net
22.05.07, 17:21
ich will load balancing wegen traffic, last und ausfallsicherheit haben :)

das mit dem dns load balancing ist problematisch, weil es dann sein könnte das man zufällig seine session verliert, wenn der dns sich einen anderen server aussucht... ansonsten wäre round-robin ok... aber wie gesagt, ich brauche eine lösung die keinen flaschenhals hat.

ein proxy der einmal die anfrage (mit 1kb) entgegennimmt ,aber über den NICHT die antwort (mit 10Mb) läuft, wäre meiner meinung nach das richtige...

hier steht ja was darüber (IP-Tunneling): http://www.lvserver.de/german/how.html

mich würde eben interessieren ob ich dann auf dem load-balancer trozdem einen balancing-service laufen lassen muss....

gruß

marce
23.05.07, 07:15
ich will load balancing wegen traffic, last und ausfallsicherheit haben :)
Dann hast Du eh ein Problem - weil der "komplette" Traffic je nach Lösung durch den LB oder GW durch muss...


das mit dem dns load balancing ist problematisch, weil es dann sein könnte das man zufällig seine session verliert, wenn der dns sich einen anderen server aussucht... ansonsten wäre round-robin ok... aber wie gesagt, ich brauche eine lösung die keinen flaschenhals hat.
Geht da auch. Auf verschiedene Methoden. Z.B. über Subdomains www1, www2 ... - erster Request nach www, von dort Redirekt (oder z.B. per DNS-LB) nach www{x}


ein proxy der einmal die anfrage (mit 1kb) entgegennimmt ,aber über den NICHT die antwort (mit 10Mb) läuft, wäre meiner meinung nach das richtige...
Wie gesagt - einfach eine Frage der Konfiguration. Hängt aber auch von der Infrastruktur ab (soll ein abgeschottetes Netz gebalanced werden oder sind alle Server direkt im Netz verfügbar, ...)

Und _vorher_ Sicherstellen, dass die Applikation auch LB-fähig ist. Manchmal kommen da ganz lustige Dinge raus, die einem das recht schwer machen und dann Persistenzen, gemeinsame Storages und ähnliches erforderlich machen - oder es geht komplett nicht...



hier steht ja was darüber (IP-Tunneling): http://www.lvserver.de/german/how.html
mich würde eben interessieren ob ich dann auf dem load-balancer trozdem einen balancing-service laufen lassen muss....gruß
Was verstehst Du in dem Fall unter "balancing-service"?

TheReaper
23.05.07, 12:32
ich will load balancing wegen traffic, last und ausfallsicherheit haben :)
[...]
mich würde eben interessieren ob ich dann auf dem load-balancer trozdem einen balancing-service laufen lassen muss....
Ja, du brauchst einen Load Balancer trotzdem. Wenn du Hochverfügbarkeit willst, muss der LB ebenfalls redundant sein. Schau dir diesbezüglich Linux Virtual Server mit ldirector+heartbeat an.

Den LB als Flaschenhals hast du immer, da muss eben die Performance vorhanden sein. Ist aber eher bei hohen Connections/Sekunde relevant, nicht bei Durchsatz - schließlich macht der LB "nur" 2x (oder 1x bei Direct Return) NAT.

Nenn bitte deinen konkreten Einsatzzweck.

Gruß

DragonMaster
23.05.07, 12:37
Ich schätze er mein mit loadbalancing-service die Software die den ausgleich vornimmt.


Für welche Anwendung wird das denn gebraucht?

Für z.B. Web basierte Anwendungen dürfte eine simple Weiterleitung das einfachste sein. Wie von meinen Vorpostern schon geschrieben. Nach www1, www2, etc. weiter leiten.

Wird eine eigene Client-Software verlangt, kann der LB die IP des gewählten Servers an den Client weiter reichen und der baut dann direkt eine Verbindung auf.

Für größeren Dateitransfares muss ich allerdings passen.


Wenn die Backend-Server nicht von außen erreichbar sein sollen/sind hast eh ein Problem. Denn dann steht nur der LB als Kommunikationspunkt zur Verfügung und der gesamte Traffic muss da dann notgedrungen durch. Für Dinge wie z.B. File-Sharing ist sowas komplett unbrauchbar.
Für alles andere dient der LB nur dazu anfragen entgegen zu nehmen und die Ergebnisse zu liefern. Z.B. das Ergebnis einer aufwendingen mathematischen Berechnung oder die auch die Web-Seite die man normal direkt zum Client schickt.

marce
23.05.07, 12:38
Naja, Durchsatz kann durchaus auch ein Problem sein... Sei es, dass die Anbindung des LB beschränkt ist (z.B. 100MBit Switchport) oder dass er eben HW-mässig am Limit ist (CPU, Bus, ...)