2013-02-26 20 views
30

Was ist der Unterschied zwischen Clustering und Load Balancing?Unterschied zwischen Clustering und Load Balancing?

Ich weiß, es ist eine einfache Frage. Aber ich fragte diese Frage an mehrere Leute, aber niemand gab zuverlässige Antwort.

Auch ich googelte viel und kann keine genaue Antwort bekommen.

Hoffe, dass unsere Stack-Benutzer die beste Antwort für mich geben werden.

Antwort

33

Von Software journal blog ein Auszug.

Clustering hat eine formale Bedeutung. Ein Cluster ist eine Gruppe von Ressourcen , die versuchen, ein gemeinsames Ziel zu erreichen, und sind sich einer anderen . Das Clustering umfasst normalerweise das Einrichten der Ressourcen (normalerweise Server ), um Details zu einem bestimmten Kanal (Port) auszutauschen und ihre Zustände zu tauschen, so dass der Status einer Ressource auch an anderen Stellen repliziert wird. Es enthält normalerweise auch Lastenausgleich, wobei die Anforderung an eine der Ressourcen im Cluster gemäß der Lastenausgleichsrichtlinie weitergeleitet wird.

Load Balancing kann auch ohne Clustering passieren, wenn wir mehrere unabhängige Server haben, die gleiche Setup haben, aber davon abgesehen, sind einander nicht bewusst. Dann können wir einen Load Balancer verwenden, um Anforderungen an einen oder einen anderen Server weiterzuleiten, , aber ein Server verwendet nicht die Ressourcen des anderen Servers. Außerdem teilt eine Ressource ihren Status nicht mit anderen Ressourcen. Jede Last Balancer führt im Wesentlichen folgende Aufgaben aus: Kontinuierlich prüfen, welche Server aktiv sind. Wenn eine neue Anforderung empfangen wird, senden Sie sie gemäß der Lastverteilungspolitik an einen der Server . Wenn eine Anfrage empfangen für einen Benutzer, der bereits eine Sitzung hat, senden Sie den Benutzer an die gleichen Server (Dieser Teil ist wichtig, da sonst Benutzer zwischen verschiedenen Servern gehen würde, aber nicht in der Lage, wirklich etwas zu tun). Dieser Teil wird nicht benötigt, um statische Seiten zu bedienen, in diesem Fall gibt es keine Benutzersitzungen.

8

Clustering bedeutet, dass Sie ein Programm auf mehreren Maschinen (Knoten) ausführen. Ein Grund, warum Sie dies tun möchten, ist: Lastenausgleich. Wenn Sie zu viel Last/Arbeit für eine einzelne Maschine haben, können Sie stattdessen eine Gruppe von Maschinen verwenden. Ein Load Balancer kann dann die Last über die Knoten im Cluster verteilen.

5

Ein Cluster ist eine Gruppe von Anwendungsservern, die transparent Ihre J2EE-Anwendung ausführen, als ob sie ein einziges Unternehmen waren.

Source

Auf der Infrastrukturseite muss die Verarbeitungslast der Gruppe von Servern verteilt werden. Dies wird als Server Load Balancing bezeichnet.

Source

Also im Grunde Clustering ist ein Cluster zu erstellen, und Lastausgleich ist die Last zwischen den Knoten im Cluster

1

Clustering zu verteilen: Clustering wird immer zunehmend wichtiger in der Welt von Enterprise-Anwendung development.just Sharing der Anwendungszustand über m ehrere Java Virtual Machines (JVM)

Load Balancing seine einfache wie die Anfrage balaning und

für den Umgang mit der Anforderung an entsprechenden Server weitergeleitet