APISIX potencia las operaciones y el control de tráfico en la interacción humano-máquina
December 16, 2022
Visión General
Sobre CVTE y Seewo
CVTE es un líder global en tecnología LCD (Pantalla de Cristal Líquido), especializándose en placas principales LCD, paneles interactivos inteligentes, dispositivos médicos y hardware inteligente relacionado. Fundada en 2005, posee una cuota de mercado del 31% en la categoría de placas principales para televisores LCD. Esta experiencia ha culminado en el establecimiento de varias marcas destacadas en la industria, incluyendo Seewo, un proveedor de herramientas y servicios educativos digitales, y MAXHUB, una sofisticada plataforma de colaboración inteligente, que han potenciado la colaboración educativa y la comunicación corporativa.
Con más de 6,500 empleados, los paneles planos interactivos de Seewo de CVTE están en 1 millón de aulas en todo el mundo. Con experiencia en controladores de pantalla, procesamiento de señales, gestión de energía, interacción humano-computadora, desarrollo de aplicaciones e integración de sistemas, la empresa está dedicada a mejorar las experiencias de comunicación en electrónica de consumo y comercial a través de la innovación tecnológica continua.
Desafíos
- La rápida expansión del negocio ha desencadenado frecuentemente recargas en la arquitectura de puerta de enlace de dos capas de Seewo, afectando el rendimiento y la estabilidad del sistema y llevando a una experiencia de usuario subóptima.
- La puerta de enlace de Seewo ha encontrado dificultades para coordinar eficientemente el control de tráfico, resultando en una eficiencia operativa disminuida y capacidades limitadas de control de tráfico.
- La puerta de enlace de Seewo debe gestionar muchos dominios con varios requisitos de configuración personalizados, requiriendo una gestión meticulosa y control personalizado.
Resultados
- APISIX proporciona un método de actualización de configuración más flexible y sin interrupciones, permitiendo a Seewo actualizar rutas y certificados según sea necesario, mejorando finalmente la eficiencia operativa y la estabilidad del sistema de Seewo.
- Después de implementar APISIX, Seewo ha fortalecido sus capacidades de corte de circuito y limitación de tasa, lo que ha mejorado el control de tráfico y ha consolidado aún más sus procesos comerciales centrales.
- La robusta escalabilidad y el excepcional rendimiento de los plugins de la puerta de enlace de APISIX han permitido a Seewo desarrollar plugins personalizados, extendiendo la funcionalidad de su puerta de enlace para satisfacer las crecientes demandas del negocio.
Antecedentes
La puerta de enlace de Seewo ha evolucionado a través de varias iteraciones, mostrando un viaje marcado por la constante innovación tecnológica y la dedicación persistente del equipo. Con cada lanzamiento, hemos intentado mejorar y optimizar la versión anterior, ofreciendo a los usuarios una experiencia de red no solo más eficiente y estable, sino también repleta de características más ricas.
-
Puerta de enlace de primera generación: La puerta de enlace inicial de Seewo se construyó utilizando OpenResty y NGINX con una configuración estática. Sin embargo, dependía de Secure Copy (SCP) para las implementaciones, requiriendo asistencia operativa para garantizar lanzamientos sin problemas.
-
Puerta de enlace de segunda generación: El sistema de segunda generación introdujo mejoras al integrar el módulo upsync con OpenResty e incorporar Consul para la detección de servicios. Esta versión permitió a los desarrolladores lanzar actualizaciones de forma independiente, aunque el soporte operativo seguía siendo esencial para la escalabilidad.
-
Puerta de enlace de tercera generación: El sistema de tercera generación de Seewo se desarrolló en Kubernetes (K8s). Si bien esta adaptación abordó los desafíos anteriores de implementación y escalabilidad, introdujo nuevas complejidades. Reconociendo que algunas aplicaciones aún residían en la máquina host, la arquitectura de la puerta de enlace incorporó Ingress NGINX en K8s como la segunda capa, manteniendo OpenResty como la puerta de enlace de primera capa. Sin embargo, este enfoque, aunque mejoró la escalabilidad, provocó interrupciones durante los cambios de enrutamiento, afectando a las aplicaciones con conexiones persistentes.
El rápido crecimiento del negocio de Seewo ha elevado el listón para la estabilidad general. Adoptar esta estructura de puerta de enlace de doble capa conlleva un problema: cualquier ajuste, ya sea la recarga de la primera capa de NGINX o las modificaciones en el enrutamiento de la puerta de enlace de segunda capa, puede llevar a la interrupción de conexiones de larga duración. Esto podría plantear un problema sustancial, especialmente en escenarios donde mantener conexiones ininterrumpidas es crítico. Por ejemplo, imagine una situación en la que el software de Seewo está en medio de la recuperación del estado de enseñanza de un profesor, y de repente, la conexión se corta. Esta interrupción no solo interrumpe el proceso de recuperación del estado, sino que también tiene un impacto directo en la calidad de la experiencia de enseñanza.
Desventajas Antes de Usar APISIX
-
Recarga que Consume Tiempo en la Arquitectura de Doble Capa: En una estructura de puerta de enlace de doble capa, realizar incluso ajustes menores, como agregar dominios, modificaciones de configuración o implementar reglas especiales, requiere una recarga de NGINX que consume tiempo. Este proceso puede ser engorroso y afecta la eficiencia operativa de Seewo.
-
Control de Tráfico y Cambio Inmanejable: Abordar problemas complejos de control de tráfico en la arquitectura de Seewo, que sirve a más de 10 millones de usuarios, requiere una perspectiva holística. Seewo ha enfrentado una tarea significativa en la coordinación de componentes para el control de tráfico, considerando la base de usuarios expansiva. En problemas del lado del cliente, Seewo ha enfrentado un riesgo de interrupción de las operaciones del lado del servidor y fallos en cascada. La falta de un control de tráfico robusto a nivel de puerta de enlace incluso empeoró el impacto en los sistemas backend de Seewo. Además, los desafíos persistentes en la interacción entre NGINX y la puerta de enlace Ingress han planteado obstáculos para el futuro cambio de tráfico de Seewo, requiriendo una resolución rápida para una operación de infraestructura sin problemas.
-
Sobrecarga de Dominios y Personalización: Las operaciones de Seewo implicaban la gestión de más de 700 dominios, cada uno acompañado de una miríada de configuraciones personalizadas, incluyendo redirecciones, listas de denegación y listas de permitidos. Adaptar estas configuraciones a los plugins de APISIX introdujo una complejidad significativa.
-
DNS de Doble Capa Complicado: Seewo ha enfrentado un obstáculo con su arquitectura de DNS de doble capa, planteando inconvenientes en términos de procedimientos de reversión. Mientras tanto, ha carecido de la optimización necesaria para llamadas de red internas eficientes dentro de la infraestructura.
En respuesta a estos desafíos y para mejorar la eficiencia operativa, Seewo tomó la decisión estratégica de adoptar la solución de puerta de enlace APISIX.
Soluciones al Migrar a APISIX
Optimización de la Generación de Rutas y Arquitectura de APISIX
En las primeras etapas del proceso de migración, Seewo diseñó estratégicamente las rutas de APISIX, un movimiento crucial destinado a mejorar la funcionalidad del sistema. Esta decisión implicó simplificar la arquitectura existente al eliminar una capa adicional de funciones específicas como "rewrite" y "set-header". Estas funciones se integraron sin problemas en la segunda capa de Ingress, contribuyendo a una estructura general más eficiente y simplificada. Notablemente, Seewo incorporó sin problemas los plugins de APISIX en la configuración de NGINX, enfatizando aún más las capacidades versátiles y de integración sin problemas de APISIX.
Validación del Reenvío de Rutas y Evaluación del Rendimiento
Después de generar las rutas, Seewo centró su atención en la tarea de validar todo el proceso de reenvío, reconociendo el papel crucial de APISIX. Empleando la herramienta goreplay para grabación y reproducción, Seewo aseguró la precisión del reenvío de rutas, un testimonio de la función integral de APISIX en el mantenimiento de la precisión. Se aplicaron pruebas automatizadas rigurosas para examinar la funcionalidad de los plugins de APISIX, garantizando su operación sin problemas. Con la funcionalidad confirmada, Seewo cambió estratégicamente su enfoque a evaluar qué tan bien APISIX se alineaba con sus requisitos internos de rendimiento. Para facilitar esta evaluación, se introdujo el plugin elastic-apm
, y se optimizaron plugins específicos que influyen en QPS, destacando las capacidades versátiles de APISIX para mejorar tanto el rendimiento como la funcionalidad durante todo el proceso.
Simplificación del Cambio de Tráfico para Reversiones Sin Problemas
La migración de la puerta de enlace enfrentó su mayor obstáculo durante el cambio de tráfico, impactando directamente la calidad de producción. A pesar de aprovechar goreplay para la grabación y reproducción de tráfico, la necesidad de una solución de reversión confiable tomó el centro del escenario. Ante anomalías, como problemas de reenvío o caídas de APISIX resultantes del cambio de tráfico, Seewo necesitaba un mecanismo de reversión rápido y confiable.
Para abordar este desafío, Seewo inició estratégicamente la transición del tráfico de la red pública, subrayando el papel crucial de APISIX. Esta maniobra estratégica permitió a Seewo modificar eficientemente las direcciones de origen durante la transición, asegurando una reversión rápida del tráfico en situaciones excepcionales. Todo el proceso de cambio de tráfico en circunstancias extraordinarias podría ejecutarse sin problemas en cuestión de segundos, mostrando así la función instrumental de APISIX en facilitar una transición rápida e ininterrumpida.
Superando los Desafíos de SSL y Coincidencia de Rutas con la Implementación de APISIX
Cuando Seewo implementó por primera vez APISIX, enfrentó desafíos relacionados con el handshake SSL. Por ejemplo, en sistemas antiguos o bibliotecas OpenSSL, los ssl_ciphers no se intersectan con los valores predeterminados del servidor, resultando en handshakes SSL fallidos. Sin embargo, el equipo de APISIX abordó activamente estos problemas. Mientras navegaba por los obstáculos de compatibilidad en el sistema antiguo de Seewo y actualizaba versiones, Seewo colaboró estrechamente con el equipo de APISIX para encontrar soluciones efectivas, recomendando verificar la intersección del handshake SSL antes de la implementación para una migración sin problemas.
Mientras tanto, la actualización a la versión 2.15 LTS de APISIX introdujo algunos nuevos desafíos, particularmente en la coincidencia de rutas. A pesar de enfrentar problemas, el equipo de APISIX respondió rápidamente y los resolvió en su rama maestra. Es esencial enfatizar que, a pesar de estos desafíos, APISIX ha estado proporcionando activamente un soporte robusto. Esta colaboración va más allá del ámbito técnico, representando un viaje compartido en impulsar un desarrollo empresarial positivo.
Logros Después de Usar APISIX
Eficiencia Operativa Optimizada
Tras la integración sin problemas de APISIX en su marco operativo, Seewo ha logrado un hito notable al erradicar completamente los desafíos asociados con las recargas. Este logro ha empoderado significativamente a Seewo, permitiéndole ejecutar actualizaciones de rutas y certificados con notable facilidad, resultando en un flujo de trabajo más eficiente y optimizado para su equipo de desarrolladores.
Competencia en Gestión de Tráfico Elevada
Gracias a la notable extensibilidad y el excepcional rendimiento de los plugins de APISIX, la integración de APISIX en la infraestructura de Seewo ha elevado significativamente sus capacidades de corte de circuito y limitación de tasa. Esta implementación estratégica no solo mejora la capacidad de Seewo para gestionar y controlar el tráfico de manera efectiva, sino que también cataliza un refuerzo sustancial en sus procesos comerciales centrales. Las fortalezas inherentes de APISIX contribuyen a la resiliencia general de las operaciones de Seewo, asegurando una entrega de servicio más suave y confiable. Aprovechando la robusta extensibilidad de APISIX, Seewo se involucra proactivamente en el desarrollo de plugins para ampliar aún más sus capacidades y abordar necesidades en evolución.
Desarrollo de Plugins Personalizados para la Mejora de la Puerta de Enlace
Seewo ha aprovechado las capacidades de APISIX, que cuenta con extensibilidad y un rendimiento confiable de plugins, para involucrarse en el desarrollo de plugins personalizados. Un ejemplo notable es su integración sin problemas de características de autenticación unificada en APISIX, eliminando efectivamente la necesidad de sistemas de autenticación separados al incorporar nuevos servicios. Este enfoque optimizado ha acelerado significativamente el proceso de iteración de productos de Seewo, permitiendo a la empresa adaptarse más rápidamente a los requisitos cambiantes y las demandas del mercado en evolución, fomentando así un marco operativo más ágil y receptivo.
Arquitectura Eficiente para la Reducción de Costos
Los avances de Seewo en ahorros de costos y eficiencia operativa fueron impulsados por la eliminación de la capa redundante de NGINX. En su estructura anterior de puerta de enlace de doble capa, los desarrolladores enfrentaban opacidad con la primera capa de NGINX. Sin embargo, la amalgama de las dos capas de puerta de enlace en una no solo erradicó la redundancia, sino que también otorgó a los desarrolladores una visión transparente de las configuraciones arquitectónicas, abarcando rutas, plugins y más. Esta integración armoniosa no solo optimizó la resolución de problemas y la resolución de incidencias, sino que también destacó el papel instrumental de APISIX en fomentar la claridad y eficiencia dentro de la infraestructura de Seewo.
Resumen
Desde la implementación de APISIX, Seewo ha elevado significativamente la eficiencia operativa y las capacidades de control de tráfico. Simultáneamente, fortalecer las funcionalidades de la puerta de enlace también ha acelerado su proceso de iteración de productos, resultando en una mayor eficiencia general del trabajo y costos reducidos. A lo largo de este viaje, Seewo ha contribuido activamente a la comunidad, presentando un total de 8 solicitudes de extracción para abordar y mejorar varios problemas relacionados con los plugins del ecosistema. Estas contribuciones incluyen refinar el soporte para URIs personalizados en la característica batch_request
e implementar la validación del cuerpo de la solicitud para el plugin hmac-auth
. Mirando hacia el futuro, Seewo tiene como objetivo aprovechar y explorar completamente las características de APISIX en nuestras prácticas en curso, anticipando la introducción de más funcionalidades colaborativas en el futuro.