“APISIX nos ayudó enormemente a mejorar la calidad del servicio bajo una arquitectura activa-activa. Su completa función de monitoreo ha respaldado eficazmente la resolución de problemas, y actualizar la lista de servicios se ha vuelto muy sencillo.”
Wenjie Shi
,
Senior Development Engineer at Infra Team
of RPC calls per day easily
in web traffic peak period
Fundada en 2010, Snowball Finance comenzó como una comunidad de inversión y ahora se ha convertido en una plataforma líder de gestión financiera en línea en China.
Actualmente, la plataforma ha acumulado una base de usuarios que supera los 43 millones, capturando el 24% de la cuota de mercado en China. La plataforma cuenta con un recuento mensual de usuarios activos de más de 2,95 millones.
Antes de usar Apache APISIX, había muchas deficiencias en el sistema.
Los módulos de autenticación SDK complejos aumentan la complejidad del sistema y los riesgos de seguridad cuando el centro de usuarios se accede entre regiones debido a que la arquitectura activa-activa solo está disponible en el módulo de servicio de mercado.
OpenResty carece de un sistema de monitoreo robusto para la observabilidad y necesita scripts personalizados para lograr escalabilidad, lo que resulta en mayores costos de desarrollo y operación.
Un centro de registro de NGINX incompleto sin un mecanismo de latido reduce la disponibilidad y la estabilidad, lo que le impide manejar fallas del sistema de manera oportuna.
Se utilizó la puerta de enlace API para gestionar uniformemente la autenticación. Snowball Finance reemplazó la autenticación JWT original con el plugin jwt-auth de APISIX y utilizó el plugin grpc-transcode para manejar la autenticación relacionada con OAuth 2.0.
Se estableció un monitoreo multidimensional con el plugin Prometheus de APISIX para las siguientes métricas: estado de conexión de NGINX y tráfico entrante/saliente, tasa de código de estado de error HTTP y latencia de solicitud de APISIX.
Se utilizó el plugin oficial de APISIX, apisix-seed, para integrar ZooKeeper para la detección de servicios.
Dentro de Snowball Finance, sus llamadas RPC alcanzan alrededor de decenas de miles de millones por día, y el volumen máximo puede alcanzar 50,000 QPS, lo que puede resultar en una alta latencia. Nuestra solución puede aliviar fácilmente tales condiciones. Construida sobre NGINX y LuaJIT, nuestra solución puede manejar tráfico a una tasa de hasta 18,000 QPS por núcleo de CPU con una latencia de solo 0,2 ms.
La falta de métodos de autenticación uniformes en la arquitectura original resulta en una pobre escalabilidad y procesos engorrosos. Snowball Finance espera que la nueva puerta de enlace tenga una fuerte escalabilidad. Nuestra solución admite más de 100 plugins, lo que permite una rápida adaptación a los cambios comerciales de Snowball Finance.
La pila tecnológica principal dentro de Snowball Finance está relacionada con gRPC, por lo que necesita una nueva puerta de enlace para reenviar y llamar servicios en la capa de puerta de enlace, y también admite la traducción de protocolos. Nuestra solución puede realizar funciones como balanceo de carga, limitación de tasa y autenticación, y también puede traducir entre protocolos para admitir diferentes tipos de clientes.
Snowball Finance espera realizar la autenticación en la capa de puerta de enlace y requiere que el costo de transformación sea relativamente bajo. Nuestra solución admite una variedad de métodos de autenticación como Keycloak, OAuth y Okta, y la operación es simple y visualizada, lo que ayuda efectivamente a Snowball Finance a reducir los costos de autenticación.
Snowball Finance implementó la autenticación unificada, la interrupción de circuito y la limitación de tasa en la capa de puerta de enlace, reduciendo el acoplamiento del sistema y mejorando la calidad del servicio en escenarios de doble centro de datos.
Snowball Finance estableció una solución de monitoreo unificada desde la puerta de enlace hasta la capa de servicio aprovechando el plugin Prometheus de APISIX y proporcionó un excelente soporte para la resolución de problemas globales.
Nuestra solución proporcionó a Snowball Finance un enfoque de implementación elegante para la traducción de protocolos gRPC y la gestión de servicios.
Para solucionar el problema de la gestión inconveniente de servicios y la costosa inversión en I+D, implementamos APISIX como nuestra puerta de enlace de API. El rendimiento dinámico de APISIX con etcd se alinea perfectamente con los requisitos del producto de Beeto.
Después de adoptar el APISIX Ingress Controller, es más fácil para los desarrolladores agregar configuraciones en la puerta de enlace que escribir código.
A partir de mayo de 2021, el equipo OTeam de Tencent que utiliza Apache APISIX ya lo ha implementado en más de 10 equipos dentro de Tencent, con el proyecto más grande manejando más de 1,000 millones de solicitudes diarias.