APISIX renforce les opérations et le contrôle du trafic dans l'interaction homme-machine
December 16, 2022
Aperçu
À propos de CVTE et Seewo
CVTE est un leader mondial dans la technologie LCD (Affichage à Cristaux Liquides), spécialisé dans les cartes mères LCD, les panneaux interactifs intelligents, les dispositifs médicaux et les matériels intelligents connexes. Fondée en 2005, elle détient une part de marché de 31 % dans la catégorie des cartes mères pour téléviseurs LCD. Cette expertise a conduit à la création de plusieurs marques industrielles renommées, notamment Seewo, un fournisseur d'outils et de services éducatifs numériques, et MAXHUB, une plateforme de collaboration intelligente sophistiquée, qui ont renforcé la collaboration éducative et la communication d'entreprise.
Avec plus de 6 500 employés, les panneaux plats interactifs de Seewo de CVTE sont utilisés dans 1 million de salles de classe à travers le monde. Grâce à son expertise en pilotage d'affichage, traitement de signal, gestion de l'alimentation, interaction homme-machine, développement d'applications et intégration de systèmes, l'entreprise s'engage à améliorer les expériences de communication dans l'électronique grand public et professionnelle grâce à une innovation technologique continue.
Défis
- L'expansion rapide des activités a fréquemment déclenché des rechargements dans l'architecture à deux couches de la passerelle de Seewo, affectant les performances et la stabilité du système et entraînant une expérience utilisateur sous-optimale.
- La passerelle de Seewo a rencontré des difficultés à coordonner efficacement le contrôle du trafic, entraînant une diminution de l'efficacité opérationnelle et des capacités limitées de contrôle du trafic.
- La passerelle de Seewo doit gérer de nombreux domaines avec diverses exigences de configuration personnalisées, nécessitant une gestion minutieuse et un contrôle personnalisé.
Résultats
- APISIX fournit une méthode de mise à jour de configuration plus flexible et transparente, permettant à Seewo de mettre à jour facilement les routes et les certificats selon les besoins, améliorant ainsi l'efficacité opérationnelle et la stabilité du système.
- Après la mise en œuvre d'APISIX, Seewo a renforcé ses capacités de coupure de circuit et de limitation de débit, ce qui a amélioré le contrôle du trafic et consolidé davantage ses processus métier essentiels.
- La robuste extensibilité de la passerelle APISIX et ses performances exceptionnelles en matière de plugins ont permis à Seewo de développer des plugins personnalisés, étendant ainsi les fonctionnalités de sa passerelle pour répondre aux demandes commerciales croissantes.
Contexte
La passerelle de Seewo a évolué à travers plusieurs itérations, illustrant un parcours marqué par une innovation technologique constante et l'engagement persistant de l'équipe. Avec chaque version, nous avons cherché à améliorer et à optimiser la version précédente, offrant aux utilisateurs une expérience réseau non seulement plus efficace et stable, mais également dotée de fonctionnalités plus riches.
-
Passerelle de première génération : La première passerelle de Seewo a été construite en utilisant OpenResty et NGINX avec une configuration statique. Cependant, elle reposait sur Secure Copy (SCP) pour les déploiements, nécessitant une assistance opérationnelle pour garantir des mises en production fluides.
-
Passerelle de deuxième génération : Le système de deuxième génération a introduit des améliorations en intégrant le module upsync avec OpenResty et en incorporant Consul pour la découverte de services. Cette version a permis aux développeurs de publier des mises à jour de manière indépendante, bien qu'une assistance opérationnelle soit toujours nécessaire pour la mise à l'échelle.
-
Passerelle de troisième génération : Le système de troisième génération de Seewo a été développé sur Kubernetes (K8s). Bien que cette adaptation ait résolu les problèmes de déploiement et de mise à l'échelle précédents, elle a introduit de nouvelles complexités. Reconnaissant que certaines applications résidaient encore sur la machine hôte, l'architecture de la passerelle a intégré Ingress NGINX sur K8s comme deuxième couche, tout en conservant OpenResty comme passerelle de première couche. Cependant, cette approche, bien qu'améliorant la mise à l'échelle, a entraîné des perturbations lors des changements de routage, affectant les applications avec des connexions persistantes.
La croissance rapide des activités de Seewo a relevé le niveau de stabilité globale. L'adoption de cette structure de passerelle à deux couches pose un problème : tout ajustement, qu'il s'agisse du rechargement de la première couche NGINX ou des modifications de routage de la passerelle de deuxième couche, peut entraîner la rupture des connexions de longue durée. Cela pourrait poser un problème substantiel, en particulier dans des scénarios où le maintien de connexions ininterrompues est critique. Par exemple, imaginez une situation où le logiciel de Seewo est en train de récupérer le statut d'enseignement d'un enseignant, et soudain, la connexion est coupée. Cette interruption perturbe non seulement le processus de récupération du statut, mais a également un impact direct sur la qualité de l'expérience d'enseignement.
Inconvénients avant l'utilisation d'APISIX
-
Rechargement chronophage dans l'architecture à deux couches : Dans une structure de passerelle à deux couches, même des ajustements mineurs, comme l'ajout de domaines, des modifications de configuration ou la mise en œuvre de règles spéciales, nécessitent un rechargement chronophage de NGINX. Ce processus peut être fastidieux et affecte l'efficacité opérationnelle de Seewo.
-
Contrôle et commutation du trafic ingérables : Résoudre les problèmes complexes de contrôle du trafic dans l'architecture de Seewo, qui sert plus de 10 millions d'utilisateurs, nécessite une perspective holistique. Seewo a dû relever un défi majeur en coordonnant les composants pour le contrôle du trafic, compte tenu de la base d'utilisateurs étendue. Dans les problèmes côté client, Seewo a rencontré un risque de perturbation des opérations côté serveur et de défaillances en cascade. Le manque de contrôle robuste du trafic au niveau de la passerelle a encore aggravé l'impact sur les systèmes backend de Seewo. De plus, les défis persistants liés à l'interaction entre NGINX et la passerelle Ingress ont posé des obstacles pour la future commutation du trafic de Seewo, nécessitant une résolution rapide pour un fonctionnement fluide de l'infrastructure.
-
Surcharge des domaines et personnalisation : Les opérations de Seewo impliquaient la gestion de plus de 700 domaines, chacun accompagné d'une multitude de configurations personnalisées, y compris des redirections, des listes noires et des listes blanches. L'adaptation de ces configurations aux plugins d'APISIX a introduit une complexité significative.
-
DNS à deux couches compliqué : Seewo a rencontré un obstacle avec son architecture DNS à deux couches, posant des inconvénients en termes de procédures de retour en arrière. Parallèlement, elle manquait de l'optimisation nécessaire pour des appels réseau internes efficaces au sein de l'infrastructure.
En réponse à ces défis et pour améliorer l'efficacité opérationnelle, Seewo a pris la décision stratégique d'adopter la solution de passerelle APISIX.
Solutions lors de la migration vers APISIX
Optimisation de la génération des routes et de l'architecture d'APISIX
Dans les premières étapes du processus de migration, Seewo a stratégiquement conçu les routes d'APISIX, une décision cruciale visant à améliorer la fonctionnalité du système. Cette décision impliquait de simplifier l'architecture existante en éliminant une couche supplémentaire de fonctions spécifiques comme "rewrite" et "set-header". Ces fonctions ont été intégrées de manière transparente dans la deuxième couche Ingress, contribuant à une structure globale plus efficace et simplifiée. Notamment, Seewo a intégré de manière fluide les plugins d'APISIX dans la configuration de NGINX, soulignant davantage la polyvalence et les capacités d'intégration transparente d'APISIX.
Validation du transfert des routes et évaluation des performances
Après avoir généré les routes, Seewo s'est concentré sur la validation de l'ensemble du processus de transfert, reconnaissant le rôle central d'APISIX. En utilisant l'outil goreplay pour l'enregistrement et la lecture, Seewo a assuré la précision du transfert des routes—un témoignage de la fonction intégrale d'APISIX dans le maintien de l'exactitude. Des tests automatisés rigoureux ont ensuite été appliqués pour examiner la fonctionnalité des plugins d'APISIX, garantissant leur fonctionnement fluide. Avec la fonctionnalité confirmée, Seewo a stratégiquement recentré son attention sur l'évaluation de la manière dont APISIX répondait à ses exigences internes de performance. Pour faciliter cette évaluation, le plugin elastic-apm
a été introduit, et des plugins spécifiques influençant le QPS ont été optimisés, mettant en évidence les capacités polyvalentes d'APISIX pour améliorer à la fois les performances et la fonctionnalité tout au long du processus.
Rationalisation de la commutation du trafic pour des retours en arrière fluides
La migration de la passerelle a rencontré son plus grand défi lors de la commutation du trafic, impactant directement la qualité de production. Malgré l'utilisation de goreplay pour l'enregistrement et la lecture du trafic, l'impératif d'une solution de retour en arrière fiable est devenu central. Face à des anomalies, comme des problèmes de transfert ou des plantages d'APISIX résultant de la commutation du trafic, Seewo nécessitait un mécanisme de retour en arrière rapide et fiable.
Pour relever ce défi, Seewo a stratégiquement initié la transition du trafic du réseau public, soulignant le rôle central d'APISIX. Cette manœuvre stratégique a permis à Seewo de modifier efficacement les adresses sources pendant la transition, assurant un retour en arrière rapide du trafic dans des situations exceptionnelles. L'ensemble du processus de commutation du trafic dans des circonstances extraordinaires pouvait être exécuté de manière fluide en quelques secondes, démontrant ainsi la fonction instrumentale d'APISIX pour faciliter une transition rapide et ininterrompue.
Surmonter les défis de SSL et de correspondance des routes avec le déploiement d'APISIX
Lorsque Seewo a initialement mis en œuvre APISIX, elle a rencontré des défis liés à la poignée de main SSL. Par exemple, dans les systèmes plus anciens ou les bibliothèques OpenSSL, les ssl_ciphers ne se croisent pas avec les valeurs par défaut du serveur, entraînant des échecs de poignée de main SSL. Cependant, l'équipe APISIX a activement résolu ces problèmes. Tout en naviguant dans les obstacles de compatibilité du système ancien de Seewo et en mettant à jour les versions, Seewo a collaboré étroitement avec l'équipe APISIX pour trouver des solutions efficaces, recommandant de vérifier l'intersection de la poignée de main SSL avant le déploiement pour une migration fluide.
Parallèlement, la mise à niveau vers la version 2.15 LTS d'APISIX a introduit de nouveaux défis, en particulier dans la correspondance des routes. Malgré les problèmes rencontrés, l'équipe APISIX a réagi rapidement et les a résolus dans sa branche principale. Il est essentiel de souligner que, malgré ces défis, APISIX a fourni un soutien robuste de manière proactive. Cette collaboration va au-delà du domaine technique, représentant un voyage partagé pour stimuler un développement commercial positif.
Réalisations après l'utilisation d'APISIX
Efficacité opérationnelle optimisée
Après l'intégration fluide d'APISIX dans son cadre opérationnel, Seewo a atteint un jalon remarquable en éliminant complètement les défis liés aux rechargements. Cette réalisation a considérablement renforcé Seewo, lui permettant d'exécuter des mises à jour de routes et de certificats avec une facilité remarquable, résultant en un flux de travail rationalisé et plus efficace pour son équipe de développeurs.
Maîtrise accrue de la gestion du trafic
Grâce à l'extensibilité remarquable d'APISIX et à ses performances exceptionnelles en matière de plugins, l'intégration d'APISIX dans l'infrastructure de Seewo a considérablement renforcé ses capacités de coupure de circuit et de limitation de débit. Cette mise en œuvre stratégique améliore non seulement la capacité de Seewo à gérer et contrôler efficacement le trafic, mais catalyse également un renforcement substantiel de ses processus métier essentiels. Les forces inhérentes d'APISIX contribuent à la résilience globale des opérations de Seewo, assurant une livraison de service plus fluide et plus fiable. En tirant parti de l'extensibilité robuste d'APISIX, Seewo s'engage activement dans le développement de plugins pour amplifier davantage ses capacités et répondre aux besoins évolutifs.
Développement de plugins personnalisés pour l'amélioration de la passerelle
Seewo a exploité les capacités d'APISIX, qui se distingue par son extensibilité et ses performances fiables en matière de plugins, pour s'engager dans le développement de plugins personnalisés. Un exemple notable est son intégration fluide de fonctionnalités d'authentification unifiée dans APISIX, éliminant ainsi le besoin de systèmes d'authentification séparés lors de l'intégration de nouveaux services. Cette approche rationalisée a considérablement accéléré le processus d'itération des produits de Seewo, permettant à l'entreprise de s'adapter plus rapidement aux exigences changeantes et aux demandes du marché en évolution, favorisant ainsi un cadre opérationnel plus agile et réactif.
Architecture efficace pour la réduction des coûts
Les progrès de Seewo en matière d'économies de coûts et d'efficacité opérationnelle ont été propulsés par l'élimination de la couche NGINX redondante. Dans leur ancienne structure de passerelle à deux couches, les développeurs faisaient face à une opacité avec la première couche NGINX. Cependant, la fusion des deux couches de passerelle en une seule a non seulement éliminé la redondance, mais a également offert aux développeurs une vue transparente des configurations architecturales, englobant les routes, les plugins, et plus encore. Cette intégration harmonieuse a non seulement rationalisé le dépannage et la résolution des problèmes, mais a également mis en lumière le rôle instrumental d'APISIX dans la promotion de la clarté et de l'efficacité au sein de l'infrastructure de Seewo.
Résumé
Depuis la mise en œuvre d'APISIX, Seewo a considérablement amélioré l'efficacité opérationnelle et les capacités de contrôle du trafic. Parallèlement, le renforcement des fonctionnalités de la passerelle a également accéléré son processus d'itération de produits, entraînant une augmentation globale de l'efficacité du travail et une réduction des coûts. Tout au long de ce parcours, Seewo a activement contribué à la communauté, soumettant un total de 8 demandes de pull pour résoudre et améliorer divers problèmes liés aux plugins de l'écosystème. Ces contributions incluent l'amélioration du support pour les URI personnalisés dans la fonctionnalité batch_request
et la mise en œuvre de la validation du corps de la demande pour le plugin hmac-auth
. À l'avenir, Seewo vise à exploiter pleinement et à explorer les fonctionnalités d'APISIX dans nos pratiques continues, anticipant l'introduction de fonctionnalités collaboratives supplémentaires à l'avenir.