Heim >Betrieb und Instandhaltung >Nginx >Wie mehrere Nginx-Cluster funktionieren
Nginx+Webserver können einen Lastausgleich erreichen, aber ein Nginx ist auch begrenzt. Wenn das Volumen nicht hoch ist, wie kann ein Lastausgleich auf der oberen Ebene erreicht werden? Wenn es sich um DNS oder CDN handelt, führt der Aufbau mehrerer Computerräume unweigerlich zu Problemen bei der Datensynchronisierung in mehreren Computerräumen. Gibt es dazu gute Informationen?
Antwort:
Diese Informationen sind grundsätzlich Stück für Stück unvollständig. Ich werde Ihnen wahrscheinlich eine grundlegende Architektur nennen: (Empfohlenes Lernen: nginx-Tutorial )
DNS-Server Wenn Sie über ausreichende Mittel verfügen, wird empfohlen, einen BGP-Computerraum zu verwenden Zum Ausgleich wird üblicherweise Bind-Software verwendet. Wenn die Mittel knapp sind, können Sie einen professionellen DNS-Dienst erwerben, z. B. den inländischen DNSpod.
CDN-Server: Wenn Sie sich am Anfang Ärger sparen möchten, können Sie die Dienste eines professionellen Unternehmens wie Chinacache kaufen, aber die Kosten werden mit der Entwicklung immer höher. Wenn Sie es selbst erstellen, können Sie es separat erstellen, Server in verschiedenen Computerräumen wie China Telecom, China Unicom, China Mobile usw. aufstellen und eine dynamische Auflösung über DNS durchführen. Für sehr große Websites können Sie Squid verwenden, für normale mittlere bis große Websites Nginx und für den internen Gebrauch Varnish.
Das Frontend ist ausgewogen. Wenn Sie über ausreichende Mittel verfügen, können Sie Hunderttausende Einheiten verwenden. Wenn Sie bereits über ein technisches Team verfügen, können Sie mit Nginx/Haproxy+Keepalived Ihr eigenes Frontend erstellen. Die Ausgleichsmethoden sind relativ flexibel und umfassen Zufall, Gewichtung, IP und URL.
Das Problem der Synchronisierung hängt davon ab, was synchronisiert wird. Normalerweise ist eine Dateisynchronisierung in Echtzeit möglich. Bei Datenbanken hängt die Synchronisierungsmethode jedoch vom jeweiligen Typ ab.
Der Back-End-Anwendungsserver und der Datenbankcluster hängen von der Verkehrsplanung ab.
Es gibt mehrere Möglichkeiten, ein Gleichgewicht zwischen mehreren Nginxs zu erreichen:
1 Jeder Nginx hat eine öffentliche Netzwerkadresse und mehrere Richtungen desselben Domänennamens sind festgelegt Der Domänenname ist der einfachste Weg, Lun Xun zu implementieren. Die Fehlerabschaltung erfolgt jedoch langsamer.
2. Ein öffentliches Netzwerk verteilt Nginx über die Upstream-Funktion, das Rad, die IP und die URL an mehrere Nginx im Intranet. Wenn jedoch Nginx im öffentlichen Netzwerk ausfällt, wird die Verbindung zum internen Netzwerk vollständig unterbrochen.
3. Ein Paar öffentlicher Netzwerk-Nginx plus drei öffentliche Netzwerk-IPs, um eine hohe Verfügbarkeit über Keepalive zu erreichen und dann ins Intranet zu übertragen.
4. Ein Hardware-Balancing-Server befindet sich am Frontend, und dann wird der Inhalt über Hardware auf andere Server verteilt.
Die von Ihnen erwähnte Hypothese kann durch die Methoden 2, 3 und 4 verwirklicht werden.
Das obige ist der detaillierte Inhalt vonWie mehrere Nginx-Cluster funktionieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!