L’équilibrage de charge peut être effectué à différentes couches du modèle de référence OSI (Open Systems Interconnection) pour les réseaux. Nous présentons ici une vue d’ensemble de deux options d’équilibrage de charge à deux couches différentes du modèle.
L’équilibrage de charge de couche 4 opère au niveau de la couche intermédiaire de transport, qui traite de la livraison des messages sans tenir compte de leur contenu. Le protocole de contrôle de transmission (TCP) est le protocole de la couche 4 pour le trafic du protocole Hypertext Transfer Protocol (HTTP) sur Internet. Les équilibreurs de charge de couche 4 se contentent de transmettre les paquets réseau vers et depuis le serveur en amont sans inspecter le contenu des paquets. Des décisions de routage limitées peuvent être prises en inspectant les quelques premiers paquets du flux TCP.
L’équilibrage de charge de couche 7 opère au niveau de la couche application de haut niveau, qui traite le contenu réel de chaque message. HTTP est le protocole de couche 7 prédominant pour le trafic des sites web sur Internet. Les équilibreurs de charge de couche 7 acheminent le trafic réseau d’une manière beaucoup plus sophistiquée que les équilibreurs de charge de couche 4, en particulier pour le trafic basé sur TCP tel que HTTP. Un équilibreur de charge de couche 7 termine le trafic réseau et lit le message qu’il contient. Il peut prendre une décision d’équilibrage de charge sur la base du contenu du message (l’URL ou le cookie, par exemple). Il établit ensuite une nouvelle connexion TCP avec le serveur en amont sélectionné (ou réutilise une connexion existante, au moyen de keepalives HTTP) et écrit la requête au serveur.
L’équilibrage de charge de couche 7 est plus gourmand en ressources processeur que l’équilibrage de charge de couche 4 basé sur les paquets, mais il entraîne rarement une dégradation des performances sur un serveur moderne. L’équilibrage de charge de couche 7 permet à l’équilibreur de charge de prendre des décisions plus intelligentes en matière d’équilibrage de charge et d’appliquer des optimisations et des modifications au contenu (telles que la compression et le cryptage). Il utilise la mise en mémoire tampon pour décharger les connexions lentes des serveurs situés en amont, ce qui améliore les performances.
Un dispositif qui assure l’équilibrage de charge de couche 7 est souvent appelé serveur proxy inversé.
Prenons un exemple simple : un utilisateur visite un site web à fort trafic. Au cours de sa session, l’utilisateur peut demander du contenu statique tel que des images ou des vidéos, du contenu dynamique tel qu’un flux d’actualités, voire des informations transactionnelles telles que l’état d’une commande. L’équilibrage de charge de couche 7 permet à l’équilibreur de charge d’acheminer une demande en fonction des informations contenues dans la demande elle-même, telles que le type de contenu demandé. Ainsi, une demande d’image ou de vidéo peut être acheminée vers les serveurs qui la stockent et qui sont hautement optimisés pour servir du contenu multimédia. Les demandes d’informations transactionnelles telles qu’un prix réduit peuvent être acheminées vers le serveur d’application responsable de la gestion des prix. Avec l’équilibrage de charge de couche 7, les architectes de réseaux et d’applications peuvent créer une infrastructure de serveurs ou un réseau de livraison d’applications hautement réglé et optimisé, qui est à la fois fiable et évolue de manière efficace pour répondre à la demande.
NGINX Plus et NGINX sont les meilleures solutions d’équilibrage de charge utilisées par des sites web à fort trafic tels que Dropbox, Netflix et Zynga. Plus de 350 millions de sites web dans le monde s’appuient sur NGINX Plus et NGINX Open Source pour diffuser leur contenu de manière rapide, fiable et sécurisée.
En tant qu’équilibreur de charge logiciel, NGINX Plus est beaucoup moins cher que les solutions matérielles ayant des capacités similaires. Les capacités complètes d’équilibrage de charge de NGINX Plus vous permettent de construire un réseau Application Delivery Network hautement optimisé.
Lorsque vous insérez NGINX Plus en tant qu’équilibreur de charge devant votre batterie de serveurs, vous augmentez l’efficacité, la performance, la fiabilité et l’évolutivité de l’ensemble de votre site web. NGINX Plus vous aide à maximiser à la fois la satisfaction de vos clients et le retour sur vos investissements informatiques.