web-dev-qa-db-fra.com

Web App: Haute disponibilité / Comment éviter un point de défaillance unique?

Quelqu'un peut-il m'expliquer comment fonctionne la haute disponibilité ("HA") pour une application Web ... car je suppose que HA signifie qu'il n'existe pas de point de défaillance unique.

Cependant, même si un équilibreur de charge est utilisé, n'est-ce pas le seul point de défaillance?

48
nickb

J'ai trouvé cet article sur le sujet: http://www.tenereillo.com/GSLBPageOfShame.htm

Fondamentalement, si vous n'avez pas besoin de sessions persistantes persistantes, vous pouvez configurer vos serveurs DNS pour renvoyer plusieurs enregistrements A (adresses IP) pour votre site Web.

Les navigateurs Web sont suffisamment intelligents pour essayer toutes les adresses jusqu'à ce qu'elles en trouvent une qui fonctionne.

16
user677686

En termes simples, la haute disponibilité peut être définie comme l'exécution d'un système 24 * 7 sans interruption même s'il y a des pannes matérielles et logicielles. D'une autre manière, une application de tolérance aux pannes. Cela permet de garantir une utilisation ininterrompue de l'application pour les utilisateurs prévus.

enter image description here

En savoir plus sur Architecture de déploiement à haute disponibilité

9
Techie

Cela fonctionne de la manière suivante: vous configurez deux serveurs proxy HA avec pulsation. Ainsi, lorsqu'un échoue (cesse de répondre aux requêtes), il est supprimé du cluster. Les demandes provenant de HA Proxy peuvent être transmises aux serveurs Web de manière circulaire, et si un serveur Web tombe en panne, les serveurs HA Proxy n'essaient pas de le contacter tant qu'il n'est pas vivant. Les serveurs Web stockent toutes les informations dynamiques dans la base de données, qui est répliquée sur deux instances MySQL. Comme vous pouvez le voir, le proxy HA et le cluster MySQL (ou simplement la réplication MySQL) ainsi que le clustering IP sont la clé.

example high availabibility cluster

1
Andrew

L'architecture HA est un domaine entier et plusieurs livres ont été écrits dessus, il est donc difficile de répondre dans un court paragraphe.

Pour résumer la situation idéale, vous utiliseriez plusieurs serveurs, interconnectés à une couche de plusieurs équilibreurs de charge. Les nœuds et LB seront situés dans quelques centres de données différents et connectés à différents réseaux fédérateurs. Idéalement, les centres de données seront situés partout dans le monde.

En bref, tous les composants auront une redondance, y compris les équilibreurs de charge.

Pour un point de départ, voir Wikipedia pour Cluster haute disponibilité

0
Desmond Zhou