Load balancing server, wie kann ich das umsetzen?
Googelte ich nach load balancing, aber das einzige, was ich finden kann, ist die Arbeiterklasse Theorie, die im moment, ist das "easy" - Teil für mich. Aber null Beispiele, wie umsetzen.
Ich habe mehrere Fragen bezüglich Lastenausgleich:
-
Ich habe eine domain (example.com) und ich dahinter habe ich eine load-balancing-server (nennen wir es Eine), die, nach der Theorie, fragt der client die Verbindung schließen mit Ein, und eine Verbindung zu B, a sub-server und führen auf Wunsch auch mit B. Wird dem Kunden in einer web-browser-aufhören, "example.com/page.html" in die Adressleiste und beginnen Sie zu sehen "B_ip_address/page.html" statt?
-
Wie kann ich implementieren einen einfachen load balancer von Grund auf neu? Meine Zweifel Ziele der "HTTP" - Teil. Gibt es da eine bestimmte Nachricht oder Reihe von Nachrichten, die ich brauche, um zu senden den Kunden, die ihn trennen von mir und eine Verbindung zu einem sub-server?
-
Was niedriger Ebene Protokolle als HTTP, z.B. TCP/IP, gibt es keine standard-Pakete zu dem client mitteilen, er nur an einem load-balancer-server und jetzt braucht er, um eine Verbindung zu xxx.xxx.xxx.xxx zu tragen auf die Anfrage?
-
Welche Methode ist die am meisten genutzte? (1) client verbindet sich zum load-balancing-server, und es fordert den client direkt eine Verbindung zu einer der sub-Servern, oder (2) das load-balancing-server startet überbrückung aller traffic vom client an den sub-server und vice-versa in eine transparente Mode?
Also Frage 2, 3 und 4 hinsichtlich der load balancing-Protokoll sowie das 1. man die Möglichkeit einen domain-Namen verbunden werden kann, um einen load balancer und was sind die zugrunde liegenden Folgen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Deine Herangehensweise ist eine Art von statischer Lastenausgleich durch umleiten der Anrufe auf einen anderen server. Alle folgenden Aufrufe können diese anderen server oder senden Sie mit der load-balancer wieder für redirect.
Eine Umsetzung hängt von der Implementierung Ihres Systems. Ein load balancer funktioniert am besten für unabhängige Anfragen ohne session-Zustand. Sie müssen die Synchronisierung des Sitzungsstatus sonst zwischen den "end-Server". Oder die Nutzung einer gemeinsamen Sitzung speichern, um die Sitzung Staates auf allen Servern.
Gibt es eine einfache und transparente Lösung für die HTTP-server-load-balancing. Sie können den load-balancing-Modul von einem nginx server (http://nginx.org/en/docs/http/load_balancing.html). Dies kann verwendet werden, für die HTTP-und HTTPS-Anforderungen. Und es kann erweitert werden mit zusätzlichen Servern dynamisch, wenn die Belastung steigt. Sie benötigen zum Bearbeiten der nginx-Konfiguration, und starten Sie den server neu. Diese kann transparent sein, um bestehende verbindungen. Und nginx nicht dazu führen, Probleme mit dem ändern von domain-oder Hostnamen.
Andere Protokolle benötigen einige Unterstützung durch den client und den server. Load balancing kann transparent werden, wenn ein spezialisiertes Gerät zwischen dem client und dem server. Oder das Kommunikations-Protokoll muss die Verbindung umleitet.
Bearbeiten:
Load balancing kann umgesetzt werden, indem DNS-round-robin zu. Jeder DNS-lookup-Aufruf liefert eine andere IP-Adresse für den gleichen domain-Namen. Der client wählt eine IP-Adresse und verbindet sich mit diesem server. Ein anderer client kann die nächste IP. Die Adressleiste name ist der gleiche die ganze Zeit.
Beispiel:
Den IP-Adressbereich dreht. Die meisten HTTP-load-Balancer arbeiten als transparentes load-balancer wie nginx oder andere reverse proxy-Implementierungen. Eine Umleitung der load balancer ist mehr ein low-tech Umsetzung, denke ich.
TCP/IP ist nicht ein Protokoll. Es ist die Transportschicht dient zur übertragung von Daten, Implementierung eines spezifischen Kommunikationsprotokolls. Während TCP/IP selbst ist ein Protokoll für die Netzwerk-Komponenten. Aber nicht die Anwendungen. Sie können überprüfen,https://en.wikipedia.org/wiki/OSI_model .