APISIX mejoró enormemente la eficiencia de I+D de Junrunrenli
Peng Yuan
December 12, 2022
Visión General
Desafíos
- Demasiados sistemas empresariales, tráfico de CLB (bloque lógico configurable) y cambios frecuentes en la configuración consumen mucho tiempo de desarrollo y mantenimiento.
- Negocios de alta concurrencia, base de datos inestable al exportar grandes cantidades de datos, y el problema solo se resuelve reiniciando el servicio o lanzando una nueva versión.
- Falta de una plataforma unificada para supervisar los datos empresariales accedidos.
- Tráfico grande y complejo, carente de una estrategia eficiente de gestión de tráfico.
- Hay decenas de millones de solicitudes API por día, una cantidad sustancial de datos de registro y capacidad limitada de carga en disco.
Resultados
- Apache APISIX proporciona a Junrunrenli una variedad de métodos de observabilidad y protección de seguridad, soportando eficientemente decenas de millones de visitas diarias.
- Mejoró enormemente la eficiencia de entrega de I+D: la configuración de nombres de dominio genéricos entra en vigor en segundos, y el plano de control reduce la carga de configuración de DevOps.
- Redujo los balanceadores de carga de más de 200 a solo 10+, ahorrando mucho dinero.
Sobre Junrunrenli Recursos Humanos
Junrunrenli Recursos Humanos es un proveedor de soluciones de recursos humanos impulsado por la tecnología, que principalmente ofrece servicios integrales de recursos humanos para el mercado laboral de cuello azul.
Establecida en 2019, Junrunrenli ha brindado servicios a más de 1000 clientes, cubriendo más de 300W de trabajadores de cuello azul. En tres años, el equipo de I+D ha crecido de menos de 20 personas a más de 250 y ha desarrollado más de 15 plataformas de servicios de recursos humanos. Además, Junrunrenli ha construido un ecosistema integrado de servicios de recursos humanos, incluyendo aplicaciones SaaS para el lado B y aplicaciones para el lado C dirigidas al grupo de trabajadores de cuello azul.
El ritmo de la innovación conlleva mayores requisitos para la arquitectura del sistema. Además de la alta disponibilidad, concurrencia y rendimiento, Junrunrenli requiere escalabilidad elástica.
Entonces, ¿cómo elige Junrunrenli una puerta de enlace API?
¿Cómo se Destaca APISIX?
El equipo de Junrunrenli creó una lista corta y posteriormente investigó muchas puertas de enlace API. Varias de ellas fueron descartadas ya que no cumplían completamente con las necesidades de Junrunrenli. Podemos observar detenidamente la siguiente imagen de la selección de puerta de enlace API de Junrunrenli.
La imagen anterior indica las características de Apache APISIX, mientras que las resaltadas en rojo son los puntos que Junrunrenli enfatiza más porque:
-
Junrunrenli tiene muchos sistemas empresariales internos y un ecosistema interno autoconstruido. Por lo tanto, se necesita una puerta de enlace API robusta para soportar los rápidos cambios empresariales de Junrun, ya que Junrunrenli necesita configurar y modificar rutas con frecuencia. APISIX permite a Junrunrenli segmentar y controlar el acceso a la API de diferentes maneras.
-
El negocio de Junrunrenli se enfoca en hacer lo mismo al mismo tiempo, por ejemplo, pagar miles de millones de salarios o retirar esa cantidad de fondos. Cientos de miles de usuarios de cuello azul registran su entrada, firman contratos y reciben tareas y salarios simultáneamente. Por lo tanto, el tráfico concurrente es enorme, especialmente durante el "Black Friday" de China, que se duplica en comparación con lo habitual.
-
Varios sistemas y necesidades personalizadas resultan en el autodesarrollo de Junrunrenli. "APISIX puede satisfacer el 99% de nuestras necesidades, pero el 1% restante necesita ser desarrollado por nosotros mismos", dijo Yuan, experto técnico de Junrunrenli. Todos saben que Kong y APISIX están desarrollados basados en OpenResty NGINX + Lua. Habría un costo adicional si Junrunrenli desarrollara complementos con Lua. Afortunadamente, el complemento externo de APISIX soporta el lenguaje de programación Java para ahorrar costos de aprendizaje. Además, la comunidad de APISIX es particularmente activa.
Junrunrenli Fortalece Sus Sistemas con APISIX
A continuación se muestra la visión general del diagrama de arquitectura de Junrunrenli.
Junrunrenli ha logrado los siguientes cuatro avances después de usar APISIX.
1. Creó estrategias de rutas innovadoras para una gestión eficiente de rutas
Basado en Radixtree y etcd, Apache APISIX es capaz de emparejamiento de rutas de alta velocidad y sincronización rápida de configuración. Todo esto está diseñado para lograr un rendimiento rápido y una respuesta de latencia ultra baja.
Durante el período de uso máximo de los sistemas, la base de datos MySQL no podía responder al exportar millones de datos de informes, causando un servicio no disponible, que solo podía reanudar su funcionamiento normal después de reinicios. Además, el caso se intensifica si la exportación continúa y solo puede resolverse con nuevos lanzamientos.
APISIX permite la gestión inteligente de rutas al soportar a Junrunrenli con configuración de prioridad de rutas y cierre de emergencia de API con el complemento serverless en cuestión de minutos.
Además, los sistemas empresariales de Junrunrenli, especialmente los sistemas SaaS, necesitan soportar el acceso de nombres de dominio personalizados por el cliente. En consecuencia, el equipo de Junrunrenli unificó la entrada configurando múltiples nombres de dominio para el mismo servicio. Las configuraciones pueden ser utilizadas en todos los sistemas configurando solo una vez.
2. Separó una plataforma PaaS para el control general de seguridad
Junrunrenli utiliza las características de APISIX, como la liberación canaria, el control de seguridad y el reconocimiento de identidad, para establecer la puerta de enlace PaaS para el control de seguridad del sistema empresarial de nivel superior.
La imagen a continuación muestra que Junrunrenli ha hecho una arquitectura de puerta de enlace de dos capas basada en APISIX y ha aislado lógicamente una puerta de enlace en ella: la plataforma PaaS.
El usuario accede a CLB, luego APISIX reenvía la solicitud al sistema empresarial. Si la función utilizada por el usuario necesita usar la capacidad PaaS, se accederá a través de la puerta de enlace de servicio PaaS. La plataforma PaaS es un área cerrada dentro de k8s, que contiene muchos servicios esenciales.
3. El complemento de división de tráfico de APISIX permitió a Junrunrenli gestionar automáticamente el tráfico
El complemento de división de tráfico de APISIX otorga a Junrunrenli la capacidad de gestionar el tráfico de sus servicios principales, como SSO (Inicio de Sesión Único), servicio PaaS y servicio de nómina.
Hay dos escenarios:
- Filtrado por Etiquetas: El tráfico de usuarios de prueba puede ser reenviado a los servicios de preproducción basados en etiquetas como el encabezado y otros parámetros. Luego, los ingenieros de prueba pueden verificar primero en el entorno de preproducción y luego en el entorno de producción posterior.
Después de pasar la verificación, los ingenieros pueden cortar el tráfico basado en el peso y luego cambiar todo el tráfico a la nueva versión después de un período de observación.
- Coexistencia de Múltiples Versiones: Existen muchas versiones de un servicio. De esta manera, diferentes sistemas empresariales pueden visitar diferentes versiones. El tráfico puede ser reenviado a los servicios correctos aprovechando las etiquetas.
4. El complemento Kafka de APISIX logró la monitorización transparente de datos de registro de Junrunrenli
Como se puede ver en esta imagen, APISIX y los servicios de pod están desplegados en k8s, y todas las rutas de backend están vinculadas al mismo servicio. El complemento Kafka de APISIX parece estar hecho a medida para recopilar datos de registro.
Los datos de observación demuestran que hay decenas de millones de solicitudes API cada día, generando 30GB de datos de registro diariamente, y el total de registros alcanza más de 1TB.
El Skywalking y el Sky Agent también se configuraron en el script de inicio del servicio en el pod. Combinado con el complemento Kafka, se puede observar todo el enlace de llamadas en Skywalking y la nube de registros según el requestId
y traceId
, y los registros de registros y el tiempo de consumo de las solicitudes API de cada enlace se volvieron transparentes para la monitorización de datos de registro.
Beneficios después de que Junrunrenli Usara APISIX
1. Soportó el desarrollo empresarial
Después de usar APISIX, las características del sistema de Junrunrenli son más ricas y el rendimiento es más potente. Proporciona una variedad de métodos de observabilidad y protección de seguridad para los servicios API, soportando eficientemente decenas de millones de tráfico de acceso diario.
2. Mejoró la eficiencia de entrega de I+D
Antes de usar APISIX, Junrunrenli solía tomar 10 minutos para configurar cada resolución DNS, pero ahora toma solo segundos configurar nombres de dominio pan. Hay más de 10 sistemas y más de 100 servicios con muchas configuraciones. Los desarrolladores necesitaban modificar la configuración tanto en CLB como en NGINX. APISIX proporciona un plano de datos central para la modificación de configuración, reduciendo significativamente la carga de trabajo de DevOps.
3. Ahorró costos
Ahorró un alto costo en balanceadores de carga y redujo más de 200 servicios a solo 10+.
Plan Futuro de Junrunrenli
-
Junrunrenli personalizará el java-plugin-runner e integrará sentinel para habilitar el servicio de limitación de tasa dinámica enchufable y también soportará el control de tráfico diario y mensual.
-
El equipo de Junrunrenli también está considerando almacenar los datos de registro de solicitudes API y luego realizar la identificación de control de riesgos basada en el motor de reglas, empujando información de alarma e interviniendo rápidamente en la operación y mantenimiento.
-
Junrunrenli llevará a cabo una gobernanza por capas. Actualmente, solo hay una entrada, y más adelante se proporcionarán múltiples conjuntos de clústeres APISIX. Por ejemplo, la plataforma abierta puede acceder a los servicios internos de k8s de Junrunrenli desde una entrada separada.
-
Además, Junrunrenli combinará los complementos de registro y sky con el análisis de registro de cadena completa.
¿Buscas Soporte de APISIX?
Apache APISIX es una puerta de enlace API nativa de la nube de código abierto, dinámica, escalable y de alto rendimiento para todas tus APIs y microservicios. Donado a la Fundación Apache Software por API7.ai, APISIX ha crecido hasta convertirse en un proyecto de código abierto de nivel superior de Apache.
¿Quieres acelerar tu desarrollo con confianza como Junrunrenli Recursos Humanos? Para maximizar el soporte de APISIX, necesitas API7. ¡Proporcionamos soporte en profundidad para APISIX y soluciones de gestión de API basadas en tus necesidades!
Contáctanos cuando quieras: https://api7.ai/contact.