Au-delà de la diffusion : les stratégies de pointe d'Apache APISIX pour une diffusion en direct immersive de la Coupe du Monde
January 8, 2024
Aperçu
À propos de Migu Video
Migu Culture and Technology Group Co. (Migu), une filiale de China Mobile, fonctionne comme une entité professionnelle intégrée responsable de la fourniture, de l'exploitation et de la maintenance des produits de contenu numérique. Elle comprend cinq sous-sociétés : Migu Music, Migu Video, Migu Digital Media, Migu Fun et Migu Animation. Migu est devenue une plateforme complète leader en Chine, offrant une vaste collection comprenant plus de 35 millions de chansons, 4,6 millions de vidéos, 600 000 publications, 1 100 jeux et 750 000 épisodes de nouveaux contenus numériques.
Engagée à innover dans les opérations "Internet + Contenu Numérique", Migu vise à intégrer divers contenus avec de multiples canaux et à transformer les modes de vie divertissants des utilisateurs.
Défis
- Les services vidéo doivent gérer un volume important de requêtes utilisateurs, nécessitant une gestion robuste des situations de haute concurrence.
- Assurer la transmission et l'affichage en temps réel des données est crucial pour les scénarios de diffusion en direct, exigeant une expérience utilisateur fluide et instantanée.
- Prendre en charge divers formats vidéo et protocoles de transmission tout en exploitant l'accélération CDN est essentiel pour une livraison de contenu efficace et une expérience utilisateur améliorée.
Résultats
- Apache APISIX a permis à Migu Video de gérer avec succès des diffusions en direct à haute concurrence lors de la Coupe du Monde Féminine de la FIFA 2023, de la Coupe du Monde de Basket-ball FIBA 2023, des Jeux Asiatiques de Hangzhou 2022 et des Jeux Universitaires d'Été de Chengdu 2021.
- Les capacités de routage d'Apache APISIX ont permis à Migu Video d'améliorer l'expérience utilisateur, en optimisant la livraison de contenu pour un accès rapide, en favorisant une diffusion fluide et en augmentant la satisfaction des utilisateurs.
- En utilisant Apache APISIX, Migu Video a constaté une augmentation significative de la vitesse de traitement des requêtes, une architecture backend plus rationalisée et une réduction de la complexité opérationnelle.
Contexte
Migu Video a rencontré plusieurs défis dans ses scénarios commerciaux, notamment un accès concurrentiel élevé, des exigences de sécurité élevées et la récupération après panne. Les scénarios de diffusion en direct exigent des exigences de transmission élevées et nécessitent la prise en charge de multiples formats et protocoles, ainsi que l'accélération de la livraison de contenu via un réseau de diffusion de contenu (CDN). Les caractéristiques des activités de Migu Video peuvent être résumées comme suit :
- Trafic élevé et haute concurrence : Les services vidéo sont généralement confrontés à un grand nombre de requêtes utilisateurs et doivent gérer des situations de haute concurrence.
- Exigence de temps réel élevée : Assurer la transmission et l'affichage en temps réel des données dans les scénarios de diffusion en direct est crucial.
- Prise en charge de multiples formats et protocoles : Les services vidéo peuvent impliquer divers formats vidéo et protocoles de transmission.
- Accélération CDN : Pour offrir une meilleure expérience utilisateur, les services vidéo utilisent souvent le CDN pour accélérer la livraison de contenu.
Pourquoi Migu Video a choisi Apache APISIX ?
Migu Video, lors de sa sélection technologique, a soigneusement examiné plusieurs facteurs qui l'ont conduit à choisir Apache APISIX comme solution de passerelle API. Apache APISIX s'est distingué comme une passerelle API open-source offrant une gamme de fonctionnalités essentielles, telles que des performances élevées, une haute disponibilité et une évolutivité. Ces qualités ont été déterminantes pour répondre aux exigences de Migu Video en matière de passerelle API robuste et efficace. De plus, l'équipe technique de Migu Video apprécie particulièrement Apache APISIX pour ses performances élevées, ses capacités de routage dynamique, sa protection de sécurité et la flexibilité de son système de plugins.
1. Performances élevées et routage dynamique
Migu Video a besoin de gérer un volume important de trafic API tout en maintenant une excellente expérience utilisateur. Apache APISIX, doté de performances exceptionnelles et de capacités de routage dynamique, peut être une solution efficace et précise pour Migu Video, garantissant que les requêtes sont distribuées de manière optimale et traitées avec une latence minimale.
2. Cadre de sécurité résilient
La protection de la sécurité est primordiale pour Migu Video, et Apache APISIX offre des fonctionnalités de sécurité robustes qui correspondent aux exigences de Migu Video. Avec des fonctionnalités telles que la transformation des requêtes/réponses, le contrôle d'accès et le chiffrement SSL/TLS, Apache APISIX protège l'infrastructure API de Migu Video contre les menaces potentielles et assure l'intégrité de la transmission des données.
3. Plus de 100 plugins open-source
Migu Video apprécie la flexibilité du système de plugins d'Apache APISIX avec plus de 100 plugins open-source, couvrant la gestion du trafic, l'observabilité, la sécurité, la transformation des requêtes/réponses, le calcul serverless, et plus encore. L'évolutivité d'Apache APISIX permet à Migu Video d'intégrer des fonctionnalités personnalisées de manière transparente et d'adapter la passerelle API aux besoins futurs.
4. Prise en charge de multiples protocoles
Un avantage significatif d'Apache APISIX est sa prise en charge de multiples protocoles, notamment HTTP, WebSocket et gRPC. La polyvalence des protocoles pris en charge par Apache APISIX fournit des fonctionnalités essentielles comme la limitation de débit, l'authentification, l'autorisation et la journalisation, et permet à Migu Video de gérer divers types de trafic API, répondant aux besoins diversifiés de sa plateforme.
5. Cloud-Native et orienté microservices
La force d'Apache APISIX dans les frameworks de microservices et les environnements cloud-native est un autre aspect précieux qui a séduit Migu Video. Alors que les organisations adoptent de plus en plus l'architecture microservices et exploitent les technologies cloud-native, la compatibilité et l'intégration transparente d'Apache APISIX avec ces environnements fournissent une base solide pour la croissance et l'évolutivité futures de Migu Video.
Mise en œuvre d'Apache APISIX dans les services vidéo à grande échelle
La mise en œuvre d'Apache APISIX par Migu Video peut être divisée en plusieurs parties : exploiter Apache APISIX pour explorer ses capacités de gestion, effectuer des personnalisations basées sur Apache APISIX, utiliser des plugins de surveillance et d'alerte, et adapter Apache APISIX à d'autres systèmes d'exploitation, etc.
Exploitation d'Apache APISIX pour explorer ses capacités de gestion
En tenant compte des cas d'utilisation spécifiques d'Apache APISIX dans les scénarios commerciaux de Migu Video, l'accent est mis sur la planification et la gestion du trafic, le routage dynamique et la protection de la sécurité.
-
Planification et gestion du trafic : Migu Video a exploré la planification et la gestion du trafic, visant à mieux gérer la planification du trafic et la limitation de débit, évitant ainsi ou interceptant certaines requêtes en exploitant les plugins d'Apache APISIX.
-
Routage dynamique : Le routage dynamique était l'une des fonctionnalités clés qui ont initialement attiré Migu Video vers Apache APISIX. La passerelle centralisée précédente de Migu Video reposait principalement sur une version d'OpenResty, ce qui posait des risques lors de la modification des configurations de routage à mesure que les besoins commerciaux changeaient fréquemment. Le routage dynamique d'Apache APISIX et la configuration à chaud via le Dashboard permettent à Migu Video de publier des changements sans recharger les services.
-
Protection de la sécurité : Migu Video vise à utiliser les fonctionnalités de protection de la sécurité d'Apache APISIX pour protéger ses services vidéo contre diverses attaques réseau. Par exemple, en configurant les règles de pare-feu d'Apache APISIX, Migu Video peut filtrer les requêtes malveillantes et assurer le fonctionnement stable de ses activités.
Personnalisation de la passerelle basée sur Apache APISIX
Bien qu'Apache APISIX ait répondu à toutes les exigences fondamentales de Migu, la nature distinctive des activités de Migu Video nécessite un développement personnalisé pour mieux s'aligner sur leurs besoins spécifiques. Par conséquent, Migu Video a terminé la personnalisation de 11 ensembles de passerelles, ainsi que 4 ensembles d'environnements en attente de déploiement dans les environnements de production.
Ces 11 ensembles de passerelles couvrent les passerelles principales des activités centralisées de Migu Video. Par exemple, il existe une passerelle publique pour la connexion des utilisateurs, une passerelle de gestion des utilisateurs responsable des capacités d'authentification des utilisateurs, une passerelle de vente pour les achats de produits par les utilisateurs, et la passerelle Professional User Generated Content (PUGC) requise pour les nouvelles activités de diffusion en direct ajoutées en 2023. De plus, la passerelle pour la billetterie de cinéma a également été transformée.
L'environnement actuel de la passerelle Apache APISIX chez Migu Video suit généralement une architecture à double centre de données. Chaque centre de données dispose de plusieurs services Apache APISIX, un ensemble de clusters etcd avec généralement 3 nœuds, et un service dashboard pour la configuration des routes frontales. De plus, les plugins de vérification de signature et de vérification de token développés en interne sont principalement utilisés pour la validation de signature et de token de la passerelle.
Améliorations de la surveillance et des alertes
En plus des plugins développés en interne et de certaines solutions de surveillance assistée, Migu Video utilise également les plugins intégrés Prometheus et Grafana, permettant une collecte, un stockage, une analyse, une alerte et une visualisation efficaces des données.
Prometheus et Grafana sont des plugins officiels fournis par Apache APISIX, utilisés par Migu pour surveiller les métriques telles que les taux d'erreur, la latence, le TPS, la santé des clusters etcd, l'état de la mémoire partagée et le taux d'envoi de messages au sein de la passerelle Apache APISIX. De plus, ces métriques sont généralement affichées sous forme de graphiques visuels, offrant une vue plus intuitive et claire des performances du système.
Adaptation d'Apache APISIX pour d'autres systèmes d'exploitation
Pour améliorer la compétitivité de Migu, de nombreux autres systèmes d'exploitation coexistent au sein de Migu Video, ce qui a posé certains défis.
-
Différences d'environnement : En raison de certaines différences entre Windows, Unix, Linux et d'autres systèmes d'exploitation, nous avons dû effectuer des ajustements pour assurer la compatibilité avec différentes bibliothèques de dépendances.
-
Gestion des paquets : En raison des paquets de dépendances personnalisés des différents systèmes d'exploitation, nous avons dû reconfigurer certains paquets logiciels de base pour assurer la compatibilité.
-
Performances : Initialement, nous n'étions pas sûrs des performances d'Apache APISIX sur un nouveau système d'exploitation. Par conséquent, nous avons effectué plusieurs phases de tests.
Après avoir résolu les problèmes liés aux paquets de dépendances dans un environnement de test, Migu Video a effectué des tests de stress sur un ensemble de passerelles PUGC. La robustesse d'Apache APISIX a été prouvée par les quatre compétitions internationales de 2023, notamment les Jeux Asiatiques de Hangzhou 2022, les Jeux Universitaires d'Été de Chengdu 2021, la Coupe du Monde Féminine de la FIFA 2023 et la Coupe du Monde de Basket-ball FIBA 2023.
Les tests pratiques d'Apache APISIX sur le nouveau système d'exploitation ont prouvé qu'Apache APISIX peut parfaitement répondre aux exigences commerciales de Migu Video en gérant de nombreuses sessions de diffusion en direct concurrentes sur le nouveau système d'exploitation.
Navigation fluide avec le support technique d'API7.ai
Lors du déploiement initial d'Apache APISIX, Migu Video a reçu un support technique exceptionnel de la part d'API7.ai, le créateur d'Apache APISIX.
API7.ai a fourni une assistance inestimable en effectuant des inspections dans l'environnement de production et en examinant minutieusement chaque aspect du déploiement. API7.ai a également travaillé en étroite collaboration avec Migu Video pour résoudre rapidement divers problèmes. Cela incluait des ajustements aux plugins et à l'allocation des ressources, résolvant les problèmes potentiels qui auraient pu être rencontrés dans l'environnement de production.
Avantages après l'adoption d'Apache APISIX
Après avoir utilisé Apache APISIX, Migu Video a constaté de nombreuses améliorations remarquables dans ses opérations commerciales.
-
Amélioration de l'efficacité du traitement des requêtes : Apache APISIX utilise une conception asynchrone non bloquante à haute performance, lui permettant de gérer un grand nombre de requêtes concurrentes. En exploitant Apache APISIX, Migu Video a constaté une augmentation significative de la vitesse de traitement des requêtes, permettant une livraison rapide et efficace du contenu vidéo à ses utilisateurs.
-
Amélioration des performances et réduction de la latence : Les stratégies de routage intelligent et de distribution de nœuds basées sur la proximité d'Apache APISIX ont joué un rôle clé dans la réduction de la latence réseau pour les activités liées à la vidéo tout en maintenant des performances élevées dans des situations de haute concurrence. Migu Video a constaté de première main comment les capacités de routage d'Apache APISIX ont contribué à une livraison plus rapide du contenu, permettant aux utilisateurs d'accéder rapidement au contenu vidéo et de profiter d'une expérience de diffusion fluide.
-
Augmentation de l'évolutivité et de la stabilité : Apache APISIX lui-même possède une forte évolutivité, une haute disponibilité et des mécanismes de tolérance aux pannes, permettant une mise à l'échelle horizontale, réduisant l'impact des pannes des services backend et améliorant la stabilité globale des activités de Migu Video. L'évolutivité et la stabilité accrues fournies par Apache APISIX ont solidifié les opérations de Migu Video, lui permettant de fournir une expérience de diffusion vidéo fiable et cohérente à ses clients.
-
Simplification de l'architecture et des opérations : Apache APISIX fournit des fonctionnalités et des plugins riches, résultant en une architecture backend plus rationalisée tout en réduisant la complexité opérationnelle. Cela améliore l'efficacité du développement et des opérations.
La mise en œuvre d'Apache APISIX a apporté de nombreux avantages tangibles pour Migu Video. L'impact et les leçons tirées de cette mise en œuvre vont au-delà de Migu Video, offrant des insights et des conseils précieux à d'autres acteurs de l'industrie.
Regard vers l'avenir
Migu Video considère la conteneurisation comme une stratégie à long terme, migrant progressivement des VM vers Kubernetes. Après avoir considéré les caractéristiques commerciales et l'utilisation actuelle de la passerelle API, Migu Video considère le contrôleur d'entrée APISIX comme le meilleur choix.
En résumé, APISIX joue un rôle crucial dans les activités vidéo à grande échelle de Migu. Sa mise en œuvre pratique améliore non seulement les performances commerciales et simplifie l'architecture backend, mais fournit également un soutien solide au développement rapide des activités. À l'avenir, Migu espère que l'évolution continue d'Apache APISIX apportera plus de valeur et d'innovation aux activités vidéo à grande échelle et à d'autres domaines.