Más allá de la transmisión: Tácticas de vanguardia de Apache APISIX para la transmisión en vivo inmersiva del Mundial
January 8, 2024
Vista previa
Acerca de Migu Video
Migu Culture and Technology Group Co. (Migu), una subsidiaria de China Mobile, funciona como una entidad profesional integrada responsable de proporcionar, operar y dar servicio a productos de contenido digital. Incluye cinco subempresas: Migu Music, Migu Video, Migu Digital Media, Migu Fun y Migu Animation. Migu se ha convertido en una plataforma integral líder en China que cuenta con una extensa colección, que incluye más de 35 millones de canciones, 4.6 millones de videos, 600,000 publicaciones, 1,100 juegos y 750,000 episodios de nuevo contenido digital.
Comprometido con la innovación en operaciones de "Internet + Contenido Digital", Migu tiene como objetivo integrar diversos contenidos con múltiples canales y lograr una transformación en los estilos de vida de entretenimiento de los usuarios.
Desafíos
- Los servicios de video manejan un volumen sustancial de solicitudes de usuarios, lo que requiere un manejo robusto de situaciones de alta concurrencia.
- Garantizar la transmisión y visualización de datos en tiempo real es crucial para escenarios de transmisión en vivo, exigiendo experiencias de usuario fluidas e instantáneas.
- Es fundamental admitir diversos formatos de video y protocolos de transmisión, además de aprovechar la aceleración de CDN para una entrega eficiente de contenido y una experiencia de usuario mejorada.
Resultados
- Apache APISIX respalda con éxito a Migu Video en transmisiones en vivo de alta concurrencia durante la Copa Mundial Femenina de la FIFA 2023, la Copa Mundial de Baloncesto FIBA 2023, los Juegos Asiáticos de Hangzhou 2022 y los Juegos Universitarios Mundiales de Verano de Chengdu 2021.
- Las capacidades de enrutamiento de Apache APISIX permitieron a Migu Video mejorar la experiencia del usuario, optimizando la entrega de contenido para un acceso rápido, fomentando transmisiones fluidas y elevando la satisfacción del usuario.
- Al aprovechar Apache APISIX, Migu Video ha experimentado un aumento significativo en la velocidad de procesamiento de solicitudes, una arquitectura backend más simplificada y una reducción en la complejidad operativa.
Antecedentes
Migu Video enfrentó varios desafíos en sus escenarios comerciales, incluyendo acceso concurrente alto, requisitos de alta seguridad y recuperación de fallos. Los escenarios de transmisión en vivo son exigentes en requisitos de transmisión y requieren soporte para múltiples formatos y protocolos, así como la aceleración de la entrega de contenido a través de Content Delivery Network (CDN). Las características del negocio de Migu Video se pueden resumir como:
- Alto Tráfico y Alta Concurrencia: Los servicios de video suelen enfrentar un gran número de solicitudes de usuarios y requieren manejar situaciones de alta concurrencia.
- Alto Requisito de Tiempo Real: Garantizar la transmisión y visualización de datos en tiempo real en escenarios de transmisión en vivo es crucial.
- Soporte para Múltiples Formatos y Protocolos: Los servicios de video pueden involucrar varios formatos de video y protocolos de transmisión.
- Aceleración de CDN: Para proporcionar una mejor experiencia de usuario, los servicios de video suelen utilizar CDN para la entrega acelerada de contenido.
¿Por qué Migu Video optó por Apache APISIX?
Migu Video, durante su proceso de selección de tecnología, consideró cuidadosamente varios factores que llevaron a su decisión de optar por Apache APISIX como su solución de puerta de enlace API. Apache APISIX destacó como una puerta de enlace API de código abierto que ofrece una gama de características esenciales, como alto rendimiento, alta disponibilidad y escalabilidad. Estas cualidades fueron fundamentales para cumplir con los requisitos de Migu Video de una puerta de enlace API robusta y eficiente. Además, el equipo técnico de Migu Video valora especialmente Apache APISIX por su alto rendimiento, capacidades de enrutamiento dinámico, protección de seguridad y la flexibilidad de su sistema de plugins.
1. Alto Rendimiento y Enrutamiento Dinámico
Migu Video necesita manejar un gran volumen de tráfico API mientras mantiene una excelente experiencia de usuario. Apache APISIX, equipado con un rendimiento excepcional y capacidades de enrutamiento dinámico, puede ser una solución efectiva y precisa para Migu Video, asegurando que las solicitudes se distribuyan de manera óptima y se procesen con una latencia mínima.
2. Marco de Seguridad Resiliente
La protección de seguridad es primordial para Migu Video, y Apache APISIX ofrece características de seguridad robustas que se alinean con los requisitos de Migu Video. Con características como transformación de solicitudes/respuestas, control de acceso y cifrado SSL/TLS, Apache APISIX protege la infraestructura API de Migu Video de posibles amenazas y garantiza la integridad de la transmisión de datos.
3. Más de 100 Plugins de Código Abierto
Migu Video valora la flexibilidad del sistema de plugins de Apache APISIX con más de 100 plugins de código abierto, que cubren gestión de tráfico, observabilidad, seguridad, transformación de solicitudes/respuestas, computación sin servidor y más. La escalabilidad de Apache APISIX permite a Migu Video integrar funcionalidades personalizadas de manera fluida y adaptar la puerta de enlace API a futuras necesidades.
4. Soporte para Múltiples Protocolos
Una ventaja significativa de Apache APISIX es su soporte para múltiples protocolos, incluyendo HTTP, WebSocket y gRPC. La versatilidad de los protocolos admitidos por Apache APISIX proporciona funcionalidades esenciales como limitación de tasa, autenticación, autorización y registro, y permite a Migu Video manejar varios tipos de tráfico API, adaptándose a las diversas necesidades de su plataforma.
5. Nube Nativa y Orientada a Microservicios
La fortaleza de Apache APISIX en marcos de microservicios y entornos nativos de la nube es otro aspecto valioso que atrajo a Migu Video. A medida que las organizaciones adoptan cada vez más la arquitectura de microservicios y aprovechan las tecnologías nativas de la nube, la compatibilidad y la integración fluida de Apache APISIX con estos entornos proporcionan una base sólida para el crecimiento futuro y la escalabilidad de Migu Video.
Implementación de Apache APISIX en Servicios de Video a Gran Escala
La implementación de Apache APISIX en Migu Video se puede dividir en varias partes: aprovechar Apache APISIX para explorar su capacidad de gestión, realizar personalizaciones basadas en Apache APISIX, utilizar plugins de monitoreo y alertas, y adaptar Apache APISIX para otros sistemas operativos, entre otros.
Aprovechamiento de Apache APISIX para Explorar la Capacidad de Gestión
Considerando los casos de uso específicos de Apache APISIX en los escenarios comerciales de Migu Video, se centra en la programación y gestión de tráfico, enrutamiento dinámico y protección de seguridad.
-
Programación y Gestión de Tráfico: Migu Video ha estado explorando la programación y gestión de tráfico, con el objetivo de gestionar mejor la programación de tráfico y la limitación de tasa, evitando o interceptando ciertas solicitudes mediante el uso de plugins de Apache APISIX.
-
Enrutamiento Dinámico: El enrutamiento dinámico fue una de las características clave que inicialmente atrajo a Migu Video a Apache APISIX. La puerta de enlace centralizada anterior de Migu Video dependía principalmente de una versión de OpenResty, lo que planteaba riesgos al modificar configuraciones de enrutamiento a medida que las necesidades comerciales cambiaban con frecuencia. El enrutamiento dinámico y la configuración en caliente de Apache APISIX a través del Dashboard permiten a Migu Video publicar cambios sin recargar los servicios.
-
Protección de Seguridad: Migu Video tiene como objetivo utilizar las características de protección de seguridad de Apache APISIX para salvaguardar sus servicios de video de diversos ataques de red de manera efectiva. Por ejemplo, al configurar las reglas del firewall de Apache APISIX, Migu Video puede filtrar solicitudes maliciosas y garantizar la operación estable de su negocio.
Personalización de la Puerta de Enlace Basada en Apache APISIX
Aunque Apache APISIX ha cumplido con éxito todos los requisitos fundamentales de Migu, la naturaleza distintiva del negocio de Migu Video requiere cierto desarrollo personalizado para alinearse mejor con sus necesidades específicas. En consecuencia, Migu Video ha completado la personalización de 11 conjuntos de puertas de enlace, así como 4 conjuntos de entornos que esperan ser lanzados a los entornos de producción.
Estos 11 conjuntos de puertas de enlace cubren las puertas de enlace principales del negocio centralizado de Migu Video. Por ejemplo, hay una puerta de enlace pública para el inicio de sesión de usuarios, una puerta de enlace del centro de gestión de usuarios responsable de las capacidades de autenticación de usuarios, una puerta de enlace de ventas para la compra de productos por parte de los usuarios, y la puerta de enlace de Contenido Generado por Usuarios Profesionales (PUGC) requerida para el negocio de transmisión en vivo recién agregado en 2023. Además, la puerta de enlace para la venta de boletos de cine también ha sido transformada.
El entorno actual de la puerta de enlace Apache APISIX en Migu Video generalmente sigue una arquitectura de doble centro de datos. Cada centro de datos tiene múltiples servicios de Apache APISIX, un conjunto de clústeres etcd con 3 nodos típicamente, y un servicio de dashboard para la configuración de rutas frontend. Además, se utilizan plugins de verificación de firma y verificación de token desarrollados internamente principalmente para la validación de firma y token en la puerta de enlace.
Mejoras en Monitoreo y Alertas
Además de los plugins desarrollados internamente y algunas soluciones de monitoreo auxiliares, Migu Video también utiliza los plugins integrados de Prometheus y Grafana, permitiendo una recopilación, almacenamiento, análisis, alertas y visualización eficientes de datos.
Prometheus y Grafana son plugins oficiales proporcionados por Apache APISIX, que son utilizados por Migu para monitorear métricas como tasas de error, latencia, TPS, el estado de salud de los clústeres etcd, el estado de la memoria compartida y la tasa de envío de mensajes dentro de la puerta de enlace Apache APISIX. Además, estas métricas se muestran típicamente en gráficos visuales, proporcionando una vista más intuitiva y clara del rendimiento del sistema.
Adaptación de Apache APISIX para Otros Sistemas Operativos
Para mejorar la competitividad de Migu, muchos otros sistemas operativos coexisten dentro de Migu Video, durante los cuales enfrentaron algunos desafíos.
-
Diferencias de Entorno: Debido a ciertas diferencias entre Windows, Unix, Linux y otros sistemas operativos, tuvimos que realizar ajustes para garantizar la compatibilidad con diferentes bibliotecas de dependencias.
-
Gestión de Paquetes: Debido a los paquetes de dependencias personalizados de varios sistemas operativos, necesitamos reconfigurar algunos paquetes de software básicos para garantizar la compatibilidad.
-
Rendimiento: Inicialmente, no estábamos seguros del rendimiento de Apache APISIX en un nuevo sistema operativo. Por lo tanto, realizamos varias fases de pruebas.
Después de abordar los problemas relacionados con los paquetes de dependencias en un entorno de prueba, Migu Video realizó pruebas de estrés en un conjunto de puertas de enlace PUGC. La robustez de Apache APISIX ha sido demostrada por las Cuatro Competiciones Internacionales en 2023, incluyendo los Juegos Asiáticos de Hangzhou 2022, los Juegos Universitarios Mundiales FISU de Chengdu 2021, la Copa Mundial Femenina de la FIFA 2023 y la Copa Mundial de Baloncesto FIBA 2023.
Las pruebas prácticas de Apache APISIX en el nuevo sistema operativo han demostrado que Apache APISIX puede cumplir perfectamente con los requisitos comerciales de Migu Video al manejar muchas sesiones concurrentes de transmisión en vivo en el nuevo sistema operativo.
Navegación Suave con el Soporte Técnico de API7.ai
Durante la implementación inicial de Apache APISIX, Migu Video recibió un soporte técnico excepcional de API7.ai, el creador de Apache APISIX.
API7.ai proporcionó una asistencia invaluable al realizar inspecciones en el entorno de producción y examinar meticulosamente cada aspecto de la implementación. API7.ai también trabajó estrechamente con Migu Video para abordar varios problemas de manera oportuna. Esto incluyó ajustes a los plugins y la asignación de recursos, resolviendo problemas potenciales que podrían haberse encontrado en el entorno en vivo.
Beneficios después de Adoptar Apache APISIX
Después de usar Apache APISIX, Migu Video ha experimentado una multitud de mejoras notables en sus operaciones comerciales.
-
Eficiencia Mejorada en el Procesamiento de Solicitudes: Apache APISIX utiliza un diseño asincrónico no bloqueante de alto rendimiento, lo que le permite manejar un gran número de solicitudes concurrentes. Al aprovechar Apache APISIX, Migu Video ha experimentado un aumento significativo en la velocidad de procesamiento de solicitudes, permitiendo una entrega rápida y eficiente de contenido de video a sus usuarios.
-
Rendimiento Mejorado y Latencia Reducida: Las estrategias de enrutamiento inteligente y distribución de nodos basada en proximidad de Apache APISIX han desempeñado un papel fundamental en la reducción de la latencia de red para los negocios relacionados con video, manteniendo un alto rendimiento en situaciones de alta concurrencia. Migu Video ha sido testigo de cómo las capacidades de enrutamiento de Apache APISIX han contribuido a una entrega de contenido más rápida, permitiendo a los usuarios acceder al contenido de video de manera oportuna y disfrutar de una experiencia de transmisión fluida.
-
Escalabilidad y Estabilidad Aumentadas: Apache APISIX tiene una fuerte escalabilidad, alta disponibilidad y mecanismos de tolerancia a fallos, escalando horizontalmente, reduciendo el impacto de fallos en los servicios backend y mejorando la estabilidad general del negocio de Migu Video. La escalabilidad y estabilidad mejoradas proporcionadas por Apache APISIX han solidificado las operaciones de Migu Video, permitiéndole ofrecer una experiencia de transmisión de video confiable y consistente a sus clientes.
-
Arquitectura y Operaciones Simplificadas: Apache APISIX proporciona funcionalidades y plugins ricos, lo que resulta en una arquitectura backend más simplificada y una reducción en la complejidad operativa. Esto, a su vez, mejora la eficiencia de desarrollo y operaciones.
La implementación de Apache APISIX ha traído numerosos beneficios tangibles para Migu Video. El impacto y las lecciones aprendidas de esta implementación van más allá de Migu Video, ofreciendo ideas y orientación valiosas a otros actores en la industria.
Mirando hacia el Futuro
Migu Video considera la contenerización como una estrategia a largo plazo, migrando gradualmente de VM a Kubernetes. Después de considerar las características del negocio y el uso actual de la puerta de enlace API, Migu Video considera el Controlador de Ingress APISIX como la mejor opción.
En resumen, APISIX desempeña un papel crucial en los negocios relacionados con video a gran escala de Migu. Su implementación práctica no solo mejora el rendimiento comercial y simplifica la arquitectura backend, sino que también proporciona un fuerte apoyo para el rápido desarrollo del negocio. En el futuro, Migu espera la evolución continua de Apache APISIX, aportando más valor e innovación a los negocios relacionados con video a gran escala y otros dominios.