5 cas d’utilisation de DigitalOcean Load Balancer

introduction

Les équilibreurs de charge DigitalOcean vous permettent de répartir le trafic entrant entre plusieurs serveurs principaux. Ceci est souvent utilisé pour répartir les requêtes HTTP entre un groupe de serveurs d’applications afin d’augmenter la capacité globale. C’est une manière courante de redimensionner votre application.

Les équilibreurs de charge offrent également d’autres cas d’utilisation. Par exemple, ils peuvent augmenter la fiabilité de votre site ou améliorer vos processus de déploiement et de test. Dans ce didacticiel, nous examinerons cinq cas d’utilisation de Load Balancer.

Avant de commencer, vous devez vous familiariser avec les bases de LoadObean de DigitalOcean en lisant notre tutoriel Introduction à DigitalOcean Load Équilibreurs.

[[1-load-balancing-for-scale]] === 1. Équilibrage de charge pour échelle

Comme mentionné ci-dessus, la mise à l’échelle du trafic est le cas d’utilisation le plus courant pour Load Balancer. Souvent, la mise à l’échelle est discutée en termes de verticaux et d’horizontal. La mise à l’échelle verticale consiste essentiellement à déplacer votre application vers un serveur plus puissant afin de répondre aux exigences de performances croissantes. La mise à l’échelle horizontale consiste à répartir votre trafic entre plusieurs serveurs pour partager la charge. Les équilibreurs de charge facilitent la mise à l’échelle horizontale.

image: https: //assets.digitalocean.com/articles/lb-use-cases/lb-scale.png [Diagramme de redimensionnement de Load Balancer]

Les équilibreurs de charge DigitalOcean vous permettent de répartir la charge via deux algorithmes différents: round robin et moins de connexions. Round Robin enverra des requêtes à chaque serveur principal disponible à son tour, tandis que les connexions minimales enverront des requêtes au serveur avec le moins de connexions. La répétition à tour de tour est de loin le schéma le plus fréquemment utilisé pour l’équilibrage de la charge, mais si vous avez une application qui maintient les connexions ouvertes pendant une longue période, il est préférable de réduire le nombre de connexions pour éviter qu’un serveur particulier ne soit surchargé.

L’avantage supplémentaire de la mise à l’échelle horizontale avec les équilibreurs de charge est la possibilité d’accroître la fiabilité de votre service. Nous en parlerons ensuite.

[[2-high-availability]] === 2. La haute disponibilité

La haute disponibilité est un terme qui décrit les efforts déployés pour réduire les temps d’arrêt et accroître la fiabilité du système. Cela est souvent résolu en améliorant les performances et en éliminant les points de défaillance uniques.

Un équilibreur de charge peut augmenter la disponibilité en effectuant des contrôles d’intégrité répétés sur vos serveurs principaux et en supprimant automatiquement les serveurs défaillants du pool.

image: https: //assets.digitalocean.com/articles/lb-use-cases/lb-ha.png [Diagramme de haute disponibilité de Load Balancer]

Les contrôles d’intégrité peuvent être personnalisés dans la zone * Paramètres * du panneau de configuration de Load Balancer:

image: https: //assets.digitalocean.com/articles/lb-use-cases/health-check.png [Interface de contrôle d’intégrité de Load Balancer]

Par défaut, l’équilibreur de charge extrait une page Web toutes les dix secondes pour s’assurer que le serveur répond correctement. Si cela échoue trois fois de suite, le serveur sera supprimé jusqu’à ce que le problème soit résolu.

[[3-blue-green-deployments]] === 3. Déploiements Bleu / Vert

Les déploiements bleu / vert font référence à une technique consistant à déployer votre nouveau logiciel sur une infrastructure de production, à le tester minutieusement, puis à ne le transférer au trafic qu’après avoir vérifié que tout fonctionnait comme prévu. Si le déploiement échoue de manière nouvelle et inattendue, vous pouvez facilement effectuer la récupération en rétablissant l’équilibreur de charge sur l’ancienne version.

image: https: //assets.digitalocean.com/articles/lb-use-cases/lb-blue-green.png [Diagramme de déploiement bleu / vert de Load Balancer]

Les équilibreurs de charge DigitalOcean simplifient les déploiements bleu / vert en utilisant la fonction de marquage https://www.digitalocean.com/community/tutorials/how-to-tag-digitalocean-droplets. Les équilibreurs de charge peuvent envoyer du trafic à un groupe de serveurs en fonction de leur étiquette. Vous pouvez ainsi étiqueter un jeu de gouttelettes * blue * et l’autre * vert *. Lorsqu’il est temps de passer, basculez l’étiquette dans le panneau de commande de Load Balancer ou via l’API:

image: https: //assets.digitalocean.com/articles/lb-use-cases/edit-tag.png [Load Balancer ajoute des gouttelettes via l’interface de balise]

Une fois vos modifications enregistrées, le trafic basculera rapidement vers le nouvel ensemble de gouttelettes.

[[4-canary-deployments]] === 4. Déploiements Canaries

Les déploiements Canary permettent de tester une nouvelle version de votre application sur un sous-ensemble d’utilisateurs avant de mettre à jour l’ensemble de votre pool de serveurs d’applications. Avec DigitalOcean Load Balancers, vous pouvez le faire, par exemple, en ajoutant un seul serveur Canary au pool de votre Load Balancer. Si vous ne constatez aucune augmentation des erreurs ou d’autres résultats indésirables via votre infrastructure de journalisation et de surveillance, vous pouvez alors déployer des mises à jour sur le reste du pool.

Vous voudrez activer sticky sessions pour ce cas d’utilisation, afin que vos utilisateurs ne changent pas de version à l’autre de votre application lors de l’établissement de nouvelles connexions via Load Balancer:

image: https: //assets.digitalocean.com/articles/lb-use-cases/sticky-session.png [Interface de sessions persistantes de Load Balancer]

Les sessions collantes utiliseront un cookie pour garantir que les futures connexions d’un navigateur particulier continueront d’être acheminées vers le même serveur. Vous pouvez accéder à cette fonctionnalité dans la zone * Paramètres avancés * du panneau de commande de Load Balancer.

[[5-a-b-deployment]] === 5. Déploiement A / B

Les déploiements A / B sont fonctionnellement similaires aux déploiements Canary, mais le but est différent. Les déploiements A / B testent une nouvelle fonctionnalité sur une partie de vos utilisateurs afin de recueillir des informations qui orienteront vos efforts de marketing et de développement. Vous devrez le faire en conjonction avec votre infrastructure de surveillance et de journalisation existante pour obtenir des résultats significatifs.

Côté serveur, vous ajouterez un ou plusieurs serveurs * B * à votre pool existant de serveurs * A *. Si vous devez lancer plusieurs serveurs * B * pour collecter suffisamment de données, vous pouvez organiser cela avec des balises, comme nous l’avons fait pour les déploiements bleu / vert.

Conclusion

Bien que l’équilibrage de charge soit le plus souvent pris en compte lorsque l’échelle est nécessaire, nous avons montré qu’il existe de nombreux autres cas dans lesquels il est utile de pouvoir répartir ou réorganiser le trafic entre différents serveurs principaux. Que ce soit pour la haute disponibilité ou pour tirer parti de diverses techniques de déploiement, Load Balancers est un outil puissant et flexible de votre infrastructure de production.

Pour obtenir des informations plus détaillées et spécialisées sur DigitalOcean Load Balancers, consultez les didacticiels suivants: