Comment Airwallex utilise Apache APISIX pour optimiser les paiements mondiaux ?
Yang Li
November 3, 2021
Aperçu
Défis
- Un défi majeur dans la gouvernance des données alors que l'entreprise d'Airwallex s'étend à travers le monde
- La gestion complexe de divers systèmes et interconnexions provoque des problèmes dans d'autres systèmes lorsqu'un problème survient
Résultats
- Performance stable pour un environnement de production en fonctionnement depuis 15 mois
- 99 % des délais de réponse sont inférieurs à 23 ms lorsque le routage dynamique, la limitation de débit multi-locataire, la liste blanche IP multi-locataire, l'authentification et l'autorisation sont activés
- Support sûr et efficace de la souveraineté des données couvrant plus de 50 devises dans plus de 130 pays et régions
À propos d'Airwallex
En tant qu'entreprise fintech mondiale, Airwallex a construit une plateforme financière mondiale, avec son réseau de paiement couvrant plus de 50 devises dans plus de 130 pays et régions à travers le monde, et elle fournit des produits fintech numériques pour les entreprises.
Cet article provient de l'interview avec Yang Li, Ph.D., Committer d'Apache APISIX et Responsable Technique de la Plateforme d'Airwallex, qui est responsable de l'évolution de la plateforme technologique d'Airwallex.
La Souveraineté des Données Pose un Défi à Airwallex
La souveraineté des données devient de plus en plus importante dans la gouvernance des données du cyberespace. Airwallex sert des utilisateurs dans diverses régions, ce qui implique naturellement le problème de la souveraineté des données.
Auparavant, sans l'exigence de souveraineté des données, les données pouvaient être placées en Europe et synchronisées en Asie ou dans n'importe quel centre de données dans le monde. Le diagramme d'interaction des données ressemblait à ceci :
Cependant, à une époque où la souveraineté des données est valorisée, les données sont sous contrôle, et l'architecture précédente ne peut plus être adoptée. En Europe, seules les données européennes peuvent être traitées, et de même, seules les données asiatiques peuvent être traitées en Asie. Les changements d'interaction des données sont les suivants.
En conséquence, la souveraineté des données pose un défi majeur pour l'activité mondiale d'Airwallex. Airwallex prévoit de migrer les données d'Europe vers d'autres régions, et elle doit s'assurer que les exigences des pays tiers en matière de souveraineté des données sont conformes à celles de l'UE.
Pourquoi Airwallex Choisit APISIX ?
Lors de la sélection de la passerelle API, Airwallex a principalement comparé les principaux produits de passerelle selon six dimensions :
-
Stabilité : Airwallex accorde une grande importance à la stabilité de la passerelle API. Parmi les 1000 premiers sites web au monde, 62,1 % sont basés sur NGINX, ce qui montre que les serveurs web basés sur NGINX ont passé le test de scénarios complexes et diversifiés en environnement de production. Apache APISIX est basé sur NGINX. De plus, la conception de la fonctionnalité entièrement dynamique d'Apache APISIX permet également de modifier la route sans recharger et de maintenir la connexion longue du client. En outre, Airwallex a également effectué des tests de stress sur Apache APISIX, qui peut toujours fonctionner de manière stable lorsque l'utilisation du CPU dépasse 70 %.
-
Performance : Chaque requête API passera par la passerelle API. Réduire la perte de performance de la passerelle peut considérablement réduire le temps de réponse global des API d'Airwallex.
"Dans le PoC, nous avons comparé les principaux produits de passerelle : le délai de réponse d'Apache APISIX est inférieur de plus de 50 % à celui des autres passerelles. De plus, le plan de données indépendant d'Apache APISIX permet des instances indépendantes dans les clusters, ce qui le rend intrinsèquement capable de supporter une expansion horizontale." a déclaré Li.
-
Évolutivité : Airwallex a besoin qu'APISIX fonctionne comme une passerelle API prenant en charge une authentification complexe, le contrôle des permissions, la découverte de services, la limitation de débit, la dégradation, l'équilibrage de charge, la liste blanche et le routage dynamique.
-
Communauté Active : Une communauté active est essentielle pour que la passerelle API suive le rythme de l'évolution technologique.
La communauté d'Apache APISIX était active depuis qu'elle était encore un projet d'incubation Apache, à en juger par le nombre de contributeurs, le temps de réponse aux problèmes et le nombre de Pull Requests. a partagé Li.
-
Déploiement Privé : La passerelle API est un composant central de l'architecture technique d'Airwallex, et elle déploie la passerelle API à la périphérie de son propre réseau privé. Apache APISIX a une bonne adaptabilité environnementale et peut être facilement déployé dans divers environnements, y compris les plateformes de cloud computing.
-
Licence Open Source Adaptée aux Entreprises : La licence Apache 2.0 permet à Airwallex de modifier le code d'APISIX et de le commercialiser sans craindre un verrouillage fournisseur.
Solution de Routage Intelligent d'Apache APISIX
Airwallex choisit Apache APISIX pour créer une solution de routage intelligent, et c'est la passerelle Apache APISIX qui décide où les données doivent être traitées.
La passerelle est composée de deux couches. La première couche est responsable du routage des requêtes, déterminant quel centre de données la requête doit atteindre en fonction des conditions. La deuxième couche est responsable du transfert du trafic.
De plus, Airwallex a implémenté les principales fonctions sous forme de plugins personnalisés pour passer à une nouvelle version d'Apache APISIX à tout moment. De cette manière, il n'y aura pas de condition de concurrence entre la bibliothèque de code d'Airwallex et le code principal du référentiel d'Apache APISIX. Cependant, il est parfois nécessaire de modifier le code principal. À ce moment-là, Li essaierait de mettre en œuvre ces fonctions dans la communauté open source. Les contributeurs de la communauté sont très enthousiastes à l'idée de discuter de la mise en œuvre des fonctions, et dans la plupart des cas, ils peuvent rapidement fournir des solutions disponibles.
Comment Airwallex Bénéficie-t-elle de l'Utilisation d'APISIX ?
Voici un diagramme montrant l'intégration d'Airwallex avec APISIX.
Airwallex prend Apache APISIX comme composant central du modèle de passerelle de microservices. Il est déployé à la périphérie du réseau et fournit une fonction de passerelle générale pour tout le trafic entrant dans Airwallex. Les problèmes qu'il résout incluent :
-
Souveraineté des Données : Pour l'infrastructure financière opérant à travers les frontières, la souveraineté des données est une exigence réglementaire critique. À cette fin, Airwallex a développé un plugin de routage conforme aux régulations dynamiques en exploitant les capacités de sélection dynamique d'upstream d'Apache APISIX. Le routage dynamique peut sélectionner intelligemment les upstreams pour la distribution des requêtes en fonction des caractéristiques des requêtes des utilisateurs, en abstraisant les problèmes complexes de collaboration multi-centres de données de la couche de service à la couche de passerelle. L'essence du routage dynamique est de répondre à deux questions : comment regrouper les upstreams et comment faire correspondre les requêtes et les groupes.
-
Isolation dans les Microservices : Airwallex espère que les équipes d'ingénierie de chaque microservice peuvent contrôler indépendamment leurs propres services, réduire efficacement les coûts de communication et de coordination, et améliorer l'efficacité de l'ingénierie. Ce concept architectural nécessite que les composants d'infrastructure partagés par diverses équipes, tels que la passerelle API, puissent supporter l'isolation des locataires. APISIX est parfait pour satisfaire l'isolation des locataires. Tout en assurant la robustesse et le contrôle des coûts de l'ensemble du système, APISIX permet aux équipes métier de configurer et d'étendre les fonctions de la passerelle selon leurs propres besoins, en maintenant l'indépendance des équipes et des services de microservices.
-
Limitation de Débit Multi-Locataire : Dans un environnement multi-locataire, les caractéristiques de trafic de chaque locataire sont différentes. Appliquer la même limitation de débit à différents locataires ne peut pas répondre aux besoins commerciaux. La limitation de débit multi-locataire peut être plus appropriée en fonction des caractéristiques des utilisateurs.
-
Liste Blanche IP Multi-Locataire : L'adresse IP d'accès de chaque locataire varie dans un environnement multi-locataire. La liste blanche IP multi-locataire permet à chaque locataire de contrôler sa propre liste blanche sans craindre l'invasion de ses propres ressources par d'autres utilisateurs.
-
Authentification : La mise à jour fréquente des clés est un lien critique pour assurer la sécurité des ressources des utilisateurs. APISIX prend en charge non seulement l'authentification des requêtes mais aussi la mise à jour dynamique des clés.
-
Autorisation : La gestion des permissions des applications d'entreprise est très complexe, et différents scénarios d'application ont des modèles de gestion des permissions complètement différents. APISIX peut vérifier si l'utilisateur demandeur a suffisamment de permissions pour accéder à l'interface selon la configuration de routage et intercepter le trafic illégal dès la première fois.
L'environnement de production d'Airwallex fonctionne depuis 15 mois, et la performance globale est extrêmement stable. Environ 99 % des délais de réponse sont inférieurs à 23 ms lorsque le routage dynamique, la limitation de débit multi-locataire, la liste blanche IP multi-locataire, l'authentification, l'autorisation et d'autres fonctions sont activés.
Grâce à l'excellent mécanisme de plugin d'Apache APISIX, Airwallex peut ajouter des plugins privés répondant aux besoins métier sans modifier son code principal. Le système de test complet garantit en outre la qualité du logiciel, et vous pouvez ajouter en toute sécurité des exigences personnalisées au plugin tout en vous assurant que la logique principale d'origine n'est pas endommagée.
Plan Futur
Le plan de suivi d'Airwallex comprend principalement trois aspects :
-
Utiliser un réseau multi-couches pour diviser la logique de la passerelle en différentes couches, comme la distribution du trafic selon la souveraineté des données ou d'autres logiques de passerelle.
-
Une gestion de routage facile à lire et à utiliser est essentielle au succès de la passerelle API. La gestion de routage doit être conviviale pour les développeurs afin qu'ils puissent facilement comprendre ce que la passerelle peut faire pour eux et comment la configurer et la publier.
-
Utiliser des requêtes codées par couleur pour aider à mettre en œuvre des tests en environnement de production. L'utilisation de requêtes codées par couleur de la passerelle API pour mettre en œuvre des tests en environnement de production peut apporter plus de flexibilité et de facilité d'utilisation.
Vous Cherchez un Support APISIX ?
Apache APISIX est une passerelle API cloud-native open source, dynamique, évolutive et haute performance pour toutes vos API et microservices. Donné à la Fondation Apache Software par API7.ai, APISIX est devenu un projet open source de premier plan d'Apache.
Vous voulez accélérer votre développement avec confiance comme Airwallex ? Pour maximiser le support APISIX, vous avez besoin d'API7. Nous fournissons un support approfondi pour APISIX et des solutions de gestion d'API basées sur vos besoins !
Contactez-nous dès maintenant : https://api7.ai/contact.
Plus d'informations sur l'interviewé :