Étape de planification 3 : Planifier l’équilibrage de charge de batterie de serveurs web IIS

par Keith Newman et Robert McMurray

Dans cette phase de planification d’une batterie de serveurs web avec des serveurs IIS, vous découvrez l’équilibrage de charge. Vous allez également apprendre à configurer l’équilibrage de charge à l’aide d’ARR (Application Request Routing). ARR est un module de routage des requêtes et d’équilibrage de charge basé sur proxy pour IIS.

Lorsque vous avez terminé avec ces tâches, enregistrez vos décisions de conception avant d’aller à l’étape 4 : Planifier le magasin de certificats central SSL.

3.1. Planifier l’équilibrage de charge avec ARR

L’équilibrage de charge est un moyen de distribuer la charge de travail sur plusieurs serveurs web. L’objectif est d’atteindre une utilisation optimale des ressources, d’optimiser le débit des requêtes, de réduire le temps de réponse et d’éviter la surcharge du serveur.

Les équilibreurs de charge utilisent différents algorithmes pour accomplir cette tâche. L’un des algorithmes les plus simples est round robin, qui envoie chaque nouvelle requête à un serveur web différent dans une tentative de charger tous les serveurs de façon égale. D’autres algorithmes envoient des types de requêtes spécifiques à des serveurs spécifiques dans une tentative de réduction du temps de réponse.

Le routage des demandes d’application (ARR) est un module de routage basé sur proxy qui utilise des en-têtes HTTP, des variables de serveur et des algorithmes d’équilibrage de charge pour déterminer comment transférer des requêtes vers des serveurs de contenu. ARR tire parti du module réécriture d’URL pour inspecter les requêtes entrantes.

Une fonctionnalité clé d’ARR est appelée affinité de nom d’hôte. L’affinité de nom d’hôte crée une affinité (connexion proche) entre les requêtes et un serveur donné (ou un ensemble de serveurs). Cela garantit qu’un site donné consomme des ressources uniquement sur un nombre défini de serveurs.

Préparez une liste d’adresses IP pour tous les serveurs de votre ferme. Vous aurez besoin de la liste pour configurer l’équilibrage de charge ARR.

3.2. Enquête sur d’autres fonctionnalités d’ARR

En plus de l’équilibrage de charge, ARR fournit de nombreuses fonctionnalités qui dépassent la portée de ce scénario. Le tableau suivant récapitule les fonctionnalités disponibles dans ARR.

Fonctionnalité Description
Navigation dans le contenu mis en cache avec l’interface utilisateur Le contenu mis en cache sur plusieurs lecteurs, y compris les répertoires et fichiers mis en cache, est visible dans le Gestionnaire des services Internet.
Prise en charge des tranches d’octets ARR segmente les demandes de portée d'octets en morceaux plus petits pour aider à augmenter le ratio de cache hit/miss sans affecter le temps de réponse.
Gestion de la hiérarchie du cache ARR vous permet de définir et de gérer les relations entre les nœuds de cache. Il prend en charge le protocole CARP (Cache Array Routing Protocol) afin de pouvoir configurer ARR en tant que nœud de cache de périphérie.
Nœud proxy de cache dans un environnement CDN/ECN ARR peut être utilisé comme proxy de cache dans un déploiement de réseau de distribution de contenu (CDN) ou de réseau de cache de périphérie (ECN). Étant donné que ARR est un module de routage des requêtes HTTP basé sur proxy avec prise en charge du cache de disque et de CARP.
Mise en cache d’objets compressés ARR compresse et stocke les objets dans un cache basé sur disque afin que ces objets restent décompressés en temps réel pour chaque requête.
Mise en cache lors du service des réponses ARR peut mettre en cache des fichiers volumineux tout en servant la réponse en temps réel.
Affinité cliente ARR peut utiliser des cookies pour affinitér toutes les demandes d’un client à un serveur de contenu.
Mise en cache sur disque ARR prend en charge le contenu mis en cache sur les lecteurs de cache principal spécifiés par l’utilisateur et un lecteur de cache basé sur le réseau secondaire.
Règles de suivi des demandes ayant échoué ARR utilise des règles de suivi pour dépanner et diagnostiquer les demandes ayant échoué.
Surveillance de la santé ARR fournit des paramètres de configuration à utiliser dans le trafic en direct et des tests d’URL spécifiques pour déterminer l’intégrité des serveurs de contenu.
Affinité de nom d’hôte L'affinité de nom d'hôte, une fonctionnalité spécifique aux hébergeurs partagés, modifie la topologie de déploiement en fournissant deux fournisseurs, round robin et mémoire, pour déterminer sur quel serveur l'hôte s'affinitise.
Décisions de routage basées sur HTTP Le routage des demandes d’application fonctionne avec le module réécriture d’URL pour écrire des règles de routage basées sur des en-têtes HTTP et des variables de serveur, et pour prendre des décisions de routage au niveau de l’application.
Prise en charge des demandes en direct ARR prend en charge les demandes de contenu en direct en consolidant les demandes et en vérifiant les demandes de mise en cache avant de transférer des demandes vers le serveur d’origine.
Algorithmes d’équilibrage de charge ARR fournit six algorithmes d’équilibrage de charge que vous pouvez utiliser pour identifier le serveur de contenu à utiliser pour traiter les requêtes HTTP.
Gestion et surveillance à l’aide de l’interface utilisateur Les paramètres de configuration ARR et les statistiques d’exécution sont visibles dans le Gestionnaire IIS.
Plusieurs groupes de serveurs ARR peut gérer plusieurs groupes de serveurs de contenu dans des scénarios de gestion pilote et de test A/B.
Substitution des directives de contrôle du cache ARR vous permet de remplacer manuellement les directives de contrôle du cache qui contrôlent le comportement de mise en cache, telles que la possibilité de mettre en cache et de durée du cache.
Suppression du contenu mis en cache ARR vous permet de supprimer le contenu mis en cache en fonction des modèles d’URL correspondants.
Réchauffement des nœuds de cache ARR vous permet de pré-mettre en cache le contenu, d’anticiper la demande avant la demande du contenu. Vous pouvez pré-mettre en cache le niveau de cache parent uniquement ou les niveaux de cache parent et enfant.

Voir aussi