Comment équilibrer la charge d'un équilibreur de charge?

11

Je suis sur le point de convertir une application Web à base de données unique à serveur unique en une configuration à haute disponibilité distribuée physiquement avec des serveurs sur deux emplacements physiques (pour l'instant). Maintenant, évidemment, j'ai besoin d'un équilibreur de charge (plus comme un proxy inverse dans ce cas, mais je l'appellerai "équilibreur de charge" pour plus de simplicité), qui acheminerait les demandes mywebsitevers l'un node1.mywebsiteou l' autre node2.mywebsite. Cependant, je suppose que les serveurs à haute disponibilité ne sont pas utiles si mon équilibreur de charge tombe en panne. Par conséquent, donc ma pensée, j'aurais réellement besoin de deux équilibreurs de charge, un sur chaque emplacement. Cependant, je voudrais toujours un point d'accès externe unique, donc j'aurais besoin d'un équilibreur de charge pour les équilibreurs de charge, qui à son tour devrait être équilibré entre les emplacements ... cela continue encore et encore.

Alors, quel est le problème avec mon raisonnement? Comment garantir la haute disponibilité de mes équilibreurs de charge dans la pratique, en supposant que chacun des emplacements physiques puisse être déconnecté de l'alimentation pendant une longue période?

PS : Je suis conscient du fait que ma compréhension de la distinction entre HA et l'équilibrage de charge est au mieux médiocre. Ce que je veux, c'est un serveur disponible même lorsque l'alimentation sur un emplacement est coupée. Merci de votre compréhension.

Nikolai Prokoschenko
la source
1
Avez-vous étudié le basculement IP? Si les deux centres de données sont le même fournisseur, cela devrait être raisonnablement simple
Smudge
Vous devez avoir vos nœuds sur des réseaux séparés? - Lorsqu'il est sur le même LAN, HA est plus facile à configurer.
Sandman4
Quel est votre objectif principal - vous voulez que l'équilibrage de charge signifie que vous voulez gérer des charges supérieures à celles qui sont acceptables pour un seul serveur, ou vous voulez que HA signifie que vous voulez que votre site fonctionne même si un seul nœud tombe en panne?
Sandman4

Réponses:

4

Vous ne pouvez pas, c'est pourquoi l'équilibrage de charge n'a rien à voir avec la disponibilité .

adaptr
la source
2

Deux équilibreurs de charge devraient suffire. Vous n'utiliserez qu'un seul équilibreur de charge à la fois. Le nom mywebsite doit devenir le VIP attribué à l'un des équilibreurs de charge.

Khaled
la source
est VIP = IP virtuelle? Quelle partie de l'infrastructure hébergerait le routage VIP, c'est-à-dire détecter qu'un LB est en panne et acheminer vers l'autre? Si c'est sur l'un des emplacements, cela pourrait aussi être en panne ...
Nikolai Prokoschenko
Avec un VIP, les demandes vont aux deux LB et l'un d'eux décide de répondre selon qu'il pense que l'autre est en hausse. Cela suggérerait qu'ils ne sont pas géographiquement séparés, ce qui est un tout autre niveau de disponibilité.
JamesRyan
2

Vous pouvez effectuer une HA grossière et un équilibrage avec des DNS à tour de rôle en les collant devant vos équilibreurs de charge.

JamesRyan
la source
Le tournoi à la ronde effectuera l'équilibrage de charge, mais comme pour HA - NO. Fondamentalement, le navigateur choisira l'un des nœuds et s'y tiendra. Il a 50% de chances d'en toucher un bon ou un mauvais.
Sandman4
Non, ce n'est pas ce qui se passe. La plupart des navigateurs modernes prennent toutes les adresses IP, y compris la mauvaise, et réessayent de manière transparente les bonnes. Il n'est pas infaillible mais fonctionnera pour la grande majorité des utilisateurs.
JamesRyan
qu'est-ce qui vous fait penser cela? J'espérais aussi jusqu'à ce que je le teste moi-même. Firefox et Chrome essaieront la 1ère IP pendant 180 secondes , puis passeront à l'IP suivante. Une fois que vous allez à la page suivante, ils recommenceront avec la 1ère IP (non réactive) et attendront encore 180 secondes et ainsi de suite. ( serverfault.com/questions/327708/… )
Sandman4
Oui, vous avez 50% de chances que la toute première demande expire, mais dès qu'elle le fait ou que vous l'actualisez, elle ira sur la bonne IP et ira bien. A partir de la 2ème requête, il ne revient plus à la mauvaise IP, il colle à la bonne.
JamesRyan
Beurk. On peut continuer à dire "oui" ou "non". Essayez-le et voyez. Et cliquer sur Actualiser ne change rien (au moins dans Chrome) - vous attendez 180 secondes même si vous cliquez sur Arrêter et rouvrez la page.
Sandman4