La stratégie de répartition du trafic Canary d'API7 Enterprise pour un contrôle précis du trafic
January 29, 2024
Dans une architecture moderne de microservices, la passerelle API sert de point d'entrée du trafic des systèmes, gérant des tâches cruciales telles que le routage des requêtes, l'authentification des identités, la limitation du débit et le disjoncteur. API7 Enterprise, en tant que plateforme robuste de gestion d'API construite sur APISIX, offre aux utilisateurs des fonctionnalités riches et flexibles, avec le déplacement de trafic canary jouant un rôle pivot dans des scénarios tels que les mises à niveau de services sans interruption et la validation de nouvelles fonctionnalités.
Aperçu des fonctionnalités
Création d'un Upstream basé sur les services existants
Lorsqu'un service est déployé sur les groupes de passerelles d'API7 Enterprise, les administrateurs peuvent facilement dériver un nouvel upstream pour le déplacement de trafic canary à partir des services d'un upstream de base existant. L'upstream peut hériter de toutes les configurations de l'upstream de base ou sélectivement hériter des configurations historiques testées. Cette conception simplifie considérablement le processus de configuration, réduisant le travail répétitif et les erreurs potentielles de configuration. De plus, l'upstream de déplacement de trafic canary prend en charge la configuration de nouveaux nœuds ou l'intégration de mécanismes de découverte de services. Cela signifie que, sans affecter la logique métier existante, une partie du trafic peut être redirigée vers de nouveaux serveurs ou environnements pour des tests de performance, la validation de fonctionnalités ou d'autres types d'évaluation.
Conditions et poids de déplacement flexibles
Lors de l'initiation de stratégies de déplacement de trafic canary, les administrateurs peuvent définir finement les conditions et les poids pour le déplacement du trafic :
Conditions de déplacement : Elles déterminent quel trafic doit être dirigé vers l'upstream de déplacement de trafic canary. Les administrateurs peuvent combiner plusieurs conditions en utilisant des opérateurs logiques (tels que "ET" et "OU") pour s'assurer que seules les requêtes répondant à des conditions spécifiques entrent dans l'environnement de déplacement de trafic canary.
Les propriétés pouvant être utilisées pour le jugement incluent :
-
Header : Champs spécifiques dans l'en-tête de la requête, tels que
User-Agent
. -
Cookie : Informations de cookie envoyées par le client, couramment utilisées pour l'identification des utilisateurs ou la reconnaissance de l'état de session.
-
Paramètres de requête : Paramètres de chaîne de requête dans l'URL.
-
Variables : Variables système ou personnalisées, telles que la localisation géographique ou les rôles des utilisateurs.
La logique de correspondance inclut égal à (==), différent de (~=), correspondance régulière (~~), entre autres méthodes, assurant la flexibilité et la précision du jugement des conditions.
Par exemple, les administrateurs peuvent définir la condition de déplacement suivante : "Lorsque le champ
User-Agent
dans l'en-tête de la requête contient 'iPhone' et que le champuser_group
dans le Cookie est égal à 'test_group', rediriger la requête vers l'upstream de déplacement de trafic."
Poids de déplacement : Ils déterminent quel pourcentage du trafic doit être dirigé vers l'upstream de déplacement de trafic canary. C'est une valeur en pourcentage qui permet aux administrateurs d'augmenter ou de diminuer progressivement le trafic entrant dans l'environnement de déplacement de trafic canary.
Initialement, le poids peut être défini à une valeur faible (par exemple, 10%) pour s'assurer que les nouvelles fonctionnalités sont testées dans une petite plage. Au fur et à mesure que les tests progressent et que les résultats sont collectés, le poids peut augmenter progressivement jusqu'à ce que finalement, 100% du trafic bascule vers la nouvelle version.
En ajustant de manière flexible les conditions et les poids de déplacement, les administrateurs peuvent contrôler efficacement la portée et l'impact des tests de déplacement de trafic canary, assurant le déploiement fluide des nouvelles fonctionnalités et la stabilité du système.
Scénarios d'application pratiques
-
Validation de nouvelles fonctionnalités : Lorsqu'une équipe de développement termine une nouvelle fonctionnalité et se prépare à la publier, le déplacement de trafic canary peut être utilisé pour déployer initialement la nouvelle fonctionnalité à un petit sous-ensemble d'utilisateurs ou à des groupes d'utilisateurs spécifiques. Cela permet de collecter les retours des utilisateurs dans un environnement réel tout en s'assurant que si des problèmes surviennent, la portée de l'impact est gérable.
-
Tests de performance : Lors d'événements importants ou de scénarios à haute concurrence, les administrateurs peuvent utiliser le déplacement de trafic canary pour rediriger une partie du trafic vers des nœuds nouvellement configurés et de plus grande capacité pour tester les limites de performance et la stabilité du système.
-
Migration progressive : Lors de mises à niveau ou de migrations de services, le déplacement de trafic canary peut aider les administrateurs à transférer progressivement le trafic de l'ancien environnement vers le nouvel environnement, assurant un processus de migration fluide.
Meilleures pratiques
-
Définition raisonnable des conditions de déplacement : Choisir des conditions de déplacement appropriées en fonction des besoins réels est crucial. Par exemple, pour des tests ciblant des groupes d'utilisateurs spécifiques, un déplacement précis peut être réalisé via des identifiants d'utilisateurs dans les Cookies ou les Headers.
-
Ajustement dynamique des poids : Pendant les tests, ajuster dynamiquement les poids de déplacement en fonction des résultats des tests et des retours des utilisateurs peut accélérer la collecte de données valides ou réduire la portée des problèmes.
-
Surveillance et alertes : Renforcer la surveillance des métriques pertinentes pendant le déplacement de trafic et définir des mécanismes d'alerte appropriés permet de détecter et de résoudre les problèmes en temps opportun.
Conclusion
Grâce au déplacement de trafic canary d'API7 Enterprise, les entreprises peuvent non seulement assurer la stabilité des services, mais aussi mener de manière flexible des tests de nouvelles fonctionnalités, des optimisations de performance et d'autres opérations, fournissant un support robuste pour une croissance rapide des activités.