2 votes

Équilibrage de la charge géographique

Une entreprise dispose actuellement d'une configuration typique de serveur Web : un serveur Web et un serveur de base de données. Malheureusement, il y a souvent des problèmes dus à une charge élevée sur le serveur web et la base de données. On m'a donc demandé de configurer l'équilibrage de charge avec 2 serveurs web.

Cependant, quelqu'un m'a demandé de placer le second serveur Web sur le site d'une autre entreprise (dans un autre pays) afin de minimiser l'impact des problèmes de réseau.

Est-ce une bonne idée ? Cela ne risque-t-il pas de causer davantage de problèmes de réseau en raison des redirections vers un serveur Web aussi éloigné ?

5voto

Marc Climent Points 3415

Sur la base des détails que vous avez fournis, je ne pense pas qu'il y ait assez d'informations pour dire que c'est une bonne idée ou pas. Cela dépend si l'application est utilisée par plusieurs pays ou non et d'autres facteurs tels que la sensibilité à la latence. L'équilibrage de charge entre deux centres de données peut être un peu plus complexe et coûteux que l'équilibrage de charge dans le même centre de données.

Quelques astuces pour améliorer les performances :

  • Prenons l'exemple d'un cache d'application (tel que Serveur de cache Varnish ) : Cela permettra de réduire la charge de vos serveurs web, à savoir le contenu statique.

Faible complexité Équilibrage de charge :

  • Ajoutez un nouvel enregistrement DNS "A" pour votre site web pointant vers un second serveur web. Par exemple : www.mysite.com sera résolu sur la base d'une rotation vers le serveur web 1 et le serveur web 2 - Faites attention à la façon dont votre application web gère les sessions. Si vous avez plusieurs serveurs de bases de données, vous devez faire en sorte que toutes les bases de données se synchronisent les unes avec les autres.

Complexité moyenne Équilibrage de charge :

  • Considérez un appareil d'équilibrage de charge tel que F5 situé avant les clusters web.
  • Considérez un service CDN tel que : Incapsula , Akamai o CloudFlare

3voto

martin Points 49

En supposant que vous n'ayez toujours qu'une seule base de données, la question la plus importante à se poser est la suivante : dans quelle mesure le serveur Web distant dépendra-t-il de la base de données ?

Si tout ce que fait le serveur Web dépend de la communication avec une base de données située à un autre endroit, vous serez davantage exposé en cas de problèmes de réseau. Si vos pages nécessitent plusieurs requêtes de base de données, leur rendu sera plus lent en raison des allers-retours supplémentaires entre le serveur Web et la base de données.

La réplication de la base de données serait une option. Mais préserver la cohérence entre les bases de données répliquées est très difficile. (Pour gérer le cas d'une réplique défaillante de manière arbitraire, il faut au moins quatre répliques. Toute solution prétendant y parvenir avec moins de répliques a fait des hypothèses sur le comportement des défaillances, et une fois que les défaillances ne sont pas à la hauteur de ces hypothèses, le système s'effondre).

Si la réplication de la base de données n'est pas pratique pour vous, et que le serveur web ne peut rien faire de significatif sans la base de données, la configuration que je recommanderais pour une redondance maximale est la suivante :

Utilisez trois serveurs, chacun étant équipé de deux interfaces réseau. L'un sera la base de données, les deux autres seront des serveurs web. Chaque serveur web est relié directement à la base de données par un câble Ethernet. Aucun commutateur ne sera placé entre eux, de sorte que tant que le serveur web et la base de données sont en service, ils peuvent communiquer entre eux.

Ces deux câbles Ethernet occupent la plupart des interfaces. Il ne vous reste plus qu'une interface disponible sur chaque serveur web. Ces interfaces restantes sont connectées à deux fournisseurs de réseau indépendants. D'après mon expérience, la connexion au fournisseur de réseau est la partie la moins fiable de la configuration et donc la plus importante à redonder, et la configuration que je décris ici peut rendre cette partie redondante sans répliquer la base de données sur plusieurs serveurs. Même si l'un des fournisseurs perturbe BGP au point que l'ensemble de son AS disparaisse d'Internet, votre site reste disponible via l'autre serveur web.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X