web-dev-qa-db-fra.com

Différence entre le clustering et l'équilibrage de charge?

Quelle est la différence entre Clustering et Load balancing?

Je sais que c'est une question simple, mais j'ai posé cette question à plusieurs personnes, mais personne n'a donné de réponse fiable.

J'ai aussi beaucoup cherché sur Google et je ne peux pas obtenir de réponse exacte.

J'espère que nos utilisateurs Stack donneront la meilleure réponse pour moi.

43
Human Being

De Software journal blog un extrait.

Le regroupement a une signification formelle. Un cluster est un groupe de ressources qui essaient d'atteindre un objectif commun et se connaissent les unes les autres. Le clustering implique généralement la configuration des ressources (les serveurs généralement) pour échanger des détails sur un canal (port) particulier et continuer à échanger leurs états, de sorte que l'état d'une ressource est également répliqué à d'autres endroits. Il inclut généralement également l'équilibrage de charge, dans lequel la demande est acheminée vers l'une des ressources du cluster conformément à la stratégie d'équilibrage de charge.

L'équilibrage de charge peut également se produire sans cluster lorsque nous avons plusieurs serveurs indépendants qui ont la même configuration, mais à part cela, ne se connaissent pas. Ensuite, nous pouvons utiliser un équilibreur de charge pour transférer les demandes vers un serveur ou un autre, mais un serveur n'utilise pas les ressources de l'autre serveur. En outre, une ressource ne partage pas son état avec d'autres ressources. Chaque équilibreur de charge effectue essentiellement les tâches suivantes: Vérifier en permanence les serveurs qui fonctionnent. Lorsqu'une nouvelle demande est reçue, envoyez-la à l'un des serveurs conformément à la politique d'équilibrage de charge. Lorsqu'une demande est reçue pour un utilisateur qui a déjà une session, envoyez l'utilisateur au même serveur (cette partie est importante, sinon l'utilisateur conserverait entre différents serveurs, mais pas vraiment capable de travailler). Cette partie n'est pas requise pour servir des pages statiques, dans ce cas, il n'y a pas de sessions utilisateur.

46
pedromarce

Le clustering signifie que vous exécutez un programme sur plusieurs machines (nœuds). L'une des raisons pour lesquelles vous souhaitez effectuer cette opération est: l'équilibrage de charge. Si vous avez trop de charge/travail à faire pour une seule machine, vous pouvez utiliser un cluster de machines à la place. Un équilibreur de charge peut ensuite répartir la charge sur les nœuds du cluster.

10
Puce

Un cluster est un groupe de serveurs d'applications qui exécutent de manière transparente votre application J2EE comme s'il s'agissait d'une seule entité.

Source

Côté infrastructure, la charge de traitement doit être répartie entre le groupe de serveurs. C'est ce qu'on appelle l'équilibrage de la charge du serveur.

Source

Donc, fondamentalement le clustering consiste à créer un cluster, et l'équilibrage de charge consiste à répartir la charge entre les nœuds du cluster

5
user000001

Clustering: Le clustering devient de plus en plus important dans le monde du développement d'applications d'entreprise. Il suffit de partager l'état de l'application sur plusieurs Java machines virtuelles (JVM)

Équilibrage de charge c'est simple comme balaner la demande et transmis au serveur approprié pour gérer la demande