¿Cómo Airwallex potencia los pagos globales utilizando Apache APISIX?

Yang Li

November 3, 2021

Case Study

Visión general

Desafíos

  • Un desafío significativo en la gobernanza de datos a medida que el negocio de Airwallex se expande por todo el mundo
  • La gestión complicada de varios sistemas y su interconexión causan problemas en otros sistemas cuando ocurre un problema

Resultados

  • Rendimiento estable durante 15 meses en un entorno de producción
  • 99% de los retrasos en las respuestas están dentro de 23 ms cuando se habilitan el enrutamiento dinámico, la limitación de tasa multiinquilino, la lista blanca de IP multiinquilino, la autenticación y la autorización
  • Soporte seguro y eficiente de la soberanía de datos que cubre más de 50 monedas en más de 130 países y regiones

Sobre Airwallex

Como una empresa global de fintech, Airwallex ha construido una plataforma financiera global, con su red de pagos cubriendo más de 50 monedas en más de 130 países y regiones en todo el mundo, y ofrece productos de fintech digitales para empresas.

Negocio de Airwallex

Este artículo proviene de la entrevista con Yang Li, Ph.D., Committer de Apache APISIX y Líder Técnico de Plataforma de Airwallex, quien es responsable de la evolución de la plataforma tecnológica de Airwallex.

La Soberanía de los Datos Representa un Desafío para Airwallex

La soberanía de los datos se está volviendo cada vez más importante en la gobernanza de datos en el ciberespacio. Airwallex sirve a usuarios en varias regiones, lo que naturalmente involucra el problema de la soberanía de los datos.

Antes, sin el requisito de la soberanía de los datos, los datos podían colocarse en Europa y sincronizarse en Asia o cualquier centro de datos en el mundo. El diagrama de interacción de datos era así:

Interacción multi-clúster

Sin embargo, en una era donde se valora la soberanía de los datos, los datos están bajo control, y la arquitectura anterior no puede adoptarse. En Europa, solo se pueden procesar datos europeos, y de manera similar, solo se pueden procesar datos asiáticos en Asia. Los cambios en la interacción de datos son los siguientes.

Interacción en un entorno de soberanía de datos

Como resultado, la soberanía de los datos representa un desafío significativo para el negocio global de Airwallex. Airwallex pretende migrar datos de Europa a otras regiones, y debe asegurarse de que los requisitos de los países terceros para la soberanía de los datos estén alineados con los de la UE.

¿Por qué Airwallex elige APISIX?

Al seleccionar la puerta de enlace API, Airwallex comparó principalmente los productos principales de puerta de enlace desde seis dimensiones:

  • Estabilidad: Airwallex pone gran énfasis en garantizar la estabilidad de la puerta de enlace API. Entre los 1000 sitios web principales del mundo, el 62.1% están basados en NGINX, lo que muestra que los servidores web basados en NGINX han pasado la prueba de escenarios complejos y diversos en el entorno de producción. Apache APISIX está basado en NGINX. Además, el diseño de la característica completamente dinámica de Apache APISIX también hace posible modificar la ruta sin recargar y mantener la conexión larga del cliente. Además, Airwallex también realizó pruebas de estrés en Apache APISIX, que aún puede funcionar de manera estable cuando el uso de la CPU alcanza más del 70%.

  • Rendimiento: Cada solicitud API pasará por la puerta de enlace API. Reducir la pérdida de rendimiento de la puerta de enlace puede reducir significativamente el tiempo de respuesta general de las API de Airwallex.

    "En la PoC, comparamos los principales productos de puerta de enlace: el retraso en la respuesta de Apache APISIX es más del 50% menor que el de otras puertas de enlace. Además, el plano de datos independiente de Apache APISIX permite instancias independientes en los clústeres, lo que lo hace inherentemente compatible con la expansión horizontal." dijo Li.

  • Escalabilidad: Airwallex necesita que APISIX funcione como una puerta de enlace API que admita autenticación, control de permisos, descubrimiento de servicios, limitación de tasa, degradación, balanceo de carga, lista blanca y enrutamiento dinámico complejos.

  • Comunidad Activa: Una comunidad activa es clave para que la puerta de enlace API mantenga el ritmo de la evolución tecnológica.

    La comunidad de Apache APISIX ha estado activa desde que aún era un proyecto de incubación de Apache, juzgando por el número de contribuyentes, el tiempo de respuesta de los problemas y el número de Pull Requests. compartió Li.

  • Despliegue Privado: La puerta de enlace API es un componente central de la arquitectura técnica de Airwallex, y despliega la puerta de enlace API en el borde de su propia red privada. Apache APISIX tiene una buena adaptabilidad ambiental y puede desplegarse fácilmente en varios entornos, incluidas las plataformas de computación en la nube.

  • Licencia de Código Abierto Amigable para los Negocios: La Licencia Apache 2.0 permite a Airwallex modificar el código de APISIX y comercializarlo sin preocuparse por el bloqueo del proveedor.

Solución de Enrutamiento Inteligente de Apache APISIX

Airwallex elige Apache APISIX para hacer una solución de enrutamiento inteligente, y es la puerta de enlace Apache APISIX la que decide dónde deben procesarse los datos.

Puerta de enlace de dos capas de Airwallex

La puerta de enlace está compuesta por dos capas. La primera capa es responsable de enrutar las solicitudes, determinando a qué centro de datos debe llegar la solicitud según las condiciones. La segunda capa se encarga del reenvío del tráfico.

Además, Airwallex implementó las funciones principales como plugins personalizados para actualizar a una nueva versión de Apache APISIX en cualquier momento. De esta manera, no habrá condiciones de carrera entre la biblioteca de código de Airwallex y el código central del repositorio principal de Apache APISIX. Sin embargo, modificar el código central es necesario a veces. En este momento, Li haría todo lo posible para implementar estas funciones en la comunidad de código abierto. Los contribuyentes en la comunidad son muy entusiastas al discutir la implementación de funciones, y en la mayoría de los casos, pueden proporcionar rápidamente soluciones disponibles.

¿Cómo se beneficia Airwallex al usar APISIX?

A continuación se muestra un diagrama que muestra la integración de Airwallex con APISIX.

Diagrama de Integración de Airwallex y APISIX

Airwallex toma Apache APISIX como el componente central del modelo de puerta de enlace de microservicios. Se despliega en el borde de la red y proporciona una función de puerta de enlace general para todo el tráfico que ingresa a Airwallex. Los problemas que resuelve incluyen:

  • Soberanía de los Datos: Para la infraestructura financiera que opera a través de fronteras, la soberanía de los datos es un requisito regulatorio crítico. Para ello, Airwallex desarrolló un plugin de enrutamiento dinámico compatible con las regulaciones aprovechando las capacidades de selección dinámica de upstream de Apache APISIX. El enrutamiento dinámico puede seleccionar inteligentemente los upstreams para la distribución de solicitudes según las características de las solicitudes de los usuarios, abstraiendo los problemas complejos de colaboración multi-centro de datos de la capa de servicio a la capa de puerta de enlace. La esencia del enrutamiento dinámico es responder dos preguntas: cómo agrupar los upstreams y cómo coincidir las solicitudes y los grupos.

  • Aislamiento en Microservicios: Airwallex espera que los equipos de ingeniería de cada microservicio puedan controlar de manera independiente sus propios servicios, reducir efectivamente el costo de comunicación y coordinación, y mejorar la eficiencia de la ingeniería. Este concepto arquitectónico requiere que los componentes de infraestructura compartidos por varios equipos, como la puerta de enlace API, puedan soportar el aislamiento de inquilinos. APISIX es perfecto para satisfacer el aislamiento de inquilinos. Mientras garantiza la robustez y el control de costos de todo el sistema, APISIX permite que los equipos de negocio configuren y amplíen las funciones de la puerta de enlace según sus propias necesidades, manteniendo la independencia de los equipos y servicios de microservicios.

  • Limitación de Tasa Multiinquilino: En un entorno multiinquilino, las características de tráfico de cada inquilino son diferentes. Aplicar la misma limitación de tasa a diferentes inquilinos no puede satisfacer las necesidades comerciales. La limitación de tasa multiinquilino puede ser más apropiada según las características del usuario.

  • Lista Blanca de IP Multiinquilino: La IP de acceso de cada inquilino varía en un entorno multiinquilino. La lista blanca de IP multiinquilino permite que cada inquilino controle su propia lista blanca sin preocuparse por la invasión de otros usuarios en sus propios recursos.

  • Autenticación: La actualización frecuente de claves es un enlace crítico para garantizar la seguridad de los recursos del usuario. APISIX no solo admite la autenticación de solicitudes, sino también la actualización dinámica de claves.

  • Autorización: La gestión de permisos de las aplicaciones empresariales es muy complicada, y diferentes escenarios de aplicación tienen modelos de gestión de permisos completamente diferentes. APISIX puede verificar si el usuario que solicita tiene permisos suficientes para acceder a la interfaz según la configuración de enrutamiento e interceptar el tráfico ilegal la primera vez.

El entorno de producción de Airwallex ha estado funcionando durante 15 meses, y el rendimiento general es extremadamente estable. Aproximadamente el 99% de los retrasos en las respuestas están dentro de 23 ms cuando se habilitan el enrutamiento dinámico, la limitación de tasa multiinquilino, la lista blanca de IP multiinquilino, la autenticación, la autorización y otras funciones.

Gracias al excelente mecanismo de plugins de Apache APISIX, Airwallex puede agregar plugins privados que satisfacen las necesidades del negocio sin modificar su código central. El sistema de pruebas completo garantiza aún más la calidad del software, y puedes aumentar de manera segura los requisitos personalizados del plugin mientras aseguras que la lógica central original no se dañe.

Planes Futuros

El plan de seguimiento de Airwallex incluye principalmente tres aspectos:

  1. Usar una red de múltiples capas para dividir la lógica de la puerta de enlace en diferentes capas, como distribuir el tráfico según la soberanía de los datos u otra lógica de puerta de enlace.

  2. La gestión de enrutamiento fácil de leer y usar es crítica para el éxito de la puerta de enlace API. La gestión de enrutamiento debe ser amigable para los desarrolladores, de modo que puedan entender fácilmente lo que la puerta de enlace puede hacer por ellos y cómo configurarla y publicarla.

  3. Usar solicitudes de código de color para ayudar a implementar pruebas en el entorno de producción. Usar solicitudes de código de color de la puerta de enlace API para implementar pruebas en el entorno de producción puede brindar más flexibilidad y facilidad de uso.

¿Buscas Soporte para APISIX?

Apache APISIX es una puerta de enlace API de código abierto, dinámica, escalable y de alto rendimiento para todas tus API 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 Airwallex? Para maximizar el soporte de APISIX, necesitas API7. ¡Ofrecemos soporte en profundidad para APISIX y soluciones de gestión de API basadas en tus necesidades!

Contáctanos ahora: https://api7.ai/contact.

Más sobre el entrevistado:

Yang Li, Airwallex

Tags: