Load Balancing mit mehreren HTTPS Servern

darkside40

NGBler
Registriert
29 Juli 2013
Beiträge
152
Moin Leute,
ich habe folgende Situation. Ich habe zwei Root Server als HTTP File Server laufen von denen die Familie Basic Auth gesichert Dateien downloaden können.
Beide Server laufen mit nginx und das ganze läuft echt primitiv per Directory Listing.

Jetzt möchte ich die Last natürlich auf beide Server verteilen, ist hier der richtige weg das per seperaten nginx als Load Balancer zu machen, oder wie realisiert man sowas?

Würde mich ja doch schon interessieren, wie das z.B. OCH anbieter machen, die müssen ja wesentlich mehr Server auf die weise zusammenschalten.
 
Normalerweise wuerde man einen Balancer (-Cluster) vorne dranstellen und dann auf die Backends verteilen, die eben "da" - im Sinne von healthy - sind.

Fuer privat ist das aber dezenter Overkill ;) Hast du wirklich ein Lastproblem oder waere das einfach nur nice-to-have? Du musst bei so einer Loesung auch darauf achten, dass zu jeder Zeit alle Daten auf beiden Servern anliegen.

Wie du das umsetzen kannst: kleinen vServer kaufen -> HAProxy installieren -> done.

Wie OCH das umsetzt, musst du mal einen Techniker dort fragen.

Wie wir das umsetzen: HAProxy in einem Pacemaker/Corosync Cluster (Active-Passive(-Passive)), der mit entsprechender virtueller IP angesprochen wird.
 
Ich nutze für meine Frontend Server einen Gateway (Dort wo die Domain per A-Record hin zeigt) und dieser macht dann einen Reverse Proxy zu Varnish, welcher das Backend Cached welches erreichbar ist. Varnish kann auch Dateien Cachen, falls dir dein Storage kaputt geht.
 
  • Thread Starter Thread Starter
  • #5
Es ist nicht wirklich nötig, aber ich möchte die zwei Server halt gleichmäßig nutzen, ohne das der User dazu etwas tun muss.
 


Warum haproxy?

Subjekiv:
- Ich bin nie mit nginx warm geworden, weil ich die Notwendigkeit nie hatte.
- Die Doku von HAProxy ist straightforward(er als die von nginx)

Objektiv:
- HAProxy ist fuer Load Balancing gebaut, bei nginx ist das ein Feature.
- HAProxy ist sackschnell + braucht kaum Resourcen
- HAProxy laeuft als lsb Agent in Pacemaker rocksolid


@SpaceNaut:
Ich benutze fuer ein kleineres Projekt auch die Load Balancing Moeglichkeiten von Varnish, die sind aber arg beschraenkt und man moechte sie eigentlich vermeiden :D
 
Ich würde ja in dem Fall eher die Frage stellen - wenn das eh nur für ein paar wenige ist und simples directory-Listing ist - warum du überhaupt 2 Kisten bezahlst ... ;D
 
@SpaceNaut:
Ich benutze fuer ein kleineres Projekt auch die Load Balancing Moeglichkeiten von Varnish, die sind aber arg beschraenkt und man moechte sie eigentlich vermeiden :D

Ist verständlich, klar sind nicht die besten, jedoch reicht es für mein Setup. Das funktioniert wie folgt:

Anycast bzw. DNS Round Robin -> NGINX SSL Frontent -> Varnish -> Beliebiger Backend Server

Meine Backend Server haben nochmal ein Nginx HA Setup mit einer Failover IP. Die Storage Server sind mittels hacky rsync script täglich im sync (Ich synce erst die Dateien mittels rsync bevor Sie publik gemacht werden und funktioniert ganz gut). Varnish hat halt den Vorteil das man Dateien relativ Problemlos cachen kann. Wie das HAProxy macht kann ich nicht sagen, habe mich aber daran sehr gut gewöhnt.

PS: Mit Certbot geht auch automatische Lets Encrypt Zertifikate.
 


Du machst vorne sonen Kram mit RR DNS und hinten richtige HA mit Failover IP? Vor allem HA auf gebalancten Backends ist jetzt eher unueblich und nicht ganz so sinnig. just my 2 cents ;)

@darkside40: Hast du jetzt eigentlich eine grobe Idee, wie dus umsetzen kannst?
 
  • Thread Starter Thread Starter
  • #11
Ehrlich gesagt, nein.
Ist für mich alles irgendwie wie "Mit Kanonen auf Spatzen" geschossen.

Vielleicht ist es doch einfacher die Sache den Clients zu überlassen, z.B. per Metalink File o.ä.
 


Du machst vorne sonen Kram mit RR DNS und hinten richtige HA mit Failover IP? Vor allem HA auf gebalancten Backends ist jetzt eher unueblich und nicht ganz so sinnig. just my 2 cents ;)

@darkside40: Hast du jetzt eigentlich eine grobe Idee, wie dus umsetzen kannst?

Ich habe teilweise Tage wo der 10 Gbit Port meiner zwei Fileserver voll sind, deshalb ist es für mich wichtig die Daten redundant zu halten, ergibt aber allgemein ein schönes System.
 
Zurück
Oben