[Nouveauté] Répartition de charge (LB) et haute disponibilité (HA)

Les annonces officielles de FranceServ Hébergement.
Avatar de l’utilisateur
Elodie
Fondatrice / Responsable
Fondatrice / Responsable
Messages : 7938
Inscription : 2 avril 2010 à 20:14

Bonjour,

J'ai mis en place cette nuit ce vendredi 20 mars 2015 entre 3h30 et 6h00 du matin en effectuant de nombreux essais, une répartition de charge (LB Load Balancing) ainsi qu'une haute disponibilité (HA High Availability) sur le service Web.

Le serveur Web Backend Web2 fait alors son apparition au coté de Web1 qui était jusqu'à maintenant le seul en place.

Ce nouveau service est en place pour les connexions IPv4 et IPv6 sur les 2 FrontWEB en HTTP et HTTPS.

Explication technique :

Le service HAProxy détecte à chaque requête Web si l'internaute est connu et s'il ne l'est pas, HAProxy détermine quel est le serveur Web Backend le moins sollicité et fonctionnel afin de l'attribuer à l'internaute en l'indiquant dans un cookie du navigateur Internet. Ce cookie n'est pas obligatoire pour que la connexion puisse se faire, le LB sera juste plus fréquent en RoundRobin mais il est obligatoire pour que les autres cookies/sessions puissent fonctionner.

Lorsque l'internaute revient sur le même site avec ce cookie, le même serveur Web est alors utilisé. Si un serveur Web Backend devient indisponible ou tombe, le service HAProxy effectuant des essais toutes les 3 secondes, attendra 2 erreurs, c'est à dire 6 secondes avant de basculer l'internaute sur un autre serveur Web encore fonctionner. Le cookie est alors réécrit et les sessions récupérées afin que ce basculement soit le plus transparent possible.

Pour information, le nom du cookie qui est envoyé au navigateur Internet se nomme "SRVNAME" et possède comme valeur "WEB1" ou "WEB2".

De plus, HAProxy me permet de superviser en temps réel une grappe de plusieurs serveurs Web (backend).

J'ai effectué quelques essais :

Lorsque je coupe un serveur Web (web1 ou web2), HAProxy effectue 2 essais de connexions toutes les 3 secondes avant de déclarer le serveur défaillant comme étant hors ligne, ceci afin d'éviter les faux positifs.

C'est à dire qu'au bout de 6 secondes de DOWN d'un serveur Web backend, celui-ci est retiré automatiquement de la grappe et le trafic bascule sur les autres backend encore en vie. 6 secondes de DOWN signifie que c'est pratiquement totalement invisible ;)

Aperçu de la page de supervision :

Image

Web1 :
Image

Web2 :
Image

Conclusion :

Cette nouveauté me permet d'effectuer de la répartition de charge pour accueillir le double de connexions simultanées (ou plus, en ajoutant d'autres backends) et c'est également un début dans la Haute Disponibilité afin que les services Web soient encore plus souvent accessibles.

Le service HAProxy LB/HA me permet ainsi d'éviter des problèmes d'indisponibilité et me permet d'effectuer des maintenances sur le service Web sans coupure visible, c'est à dire de manière transparente pour les internautes.

Pour en savoir plus sur mes travaux :
http://travaux.franceserv.fr/task/2

:)
Vous avez une question ? Posez-la de préférence sur le forum et si ça demande un contact plus instantané, n'hésitez pas à vous rendre sur le t'chat IRC. Si votre question est personnelle, contactez-nous directement.
Avatar de l’utilisateur
Elodie
Fondatrice / Responsable
Fondatrice / Responsable
Messages : 7938
Inscription : 2 avril 2010 à 20:14

Un troisième serveur Web (Web3) a été mis en production cette nuit ! :)
Vous avez une question ? Posez-la de préférence sur le forum et si ça demande un contact plus instantané, n'hésitez pas à vous rendre sur le t'chat IRC. Si votre question est personnelle, contactez-nous directement.
Répondre