Como a Airwallex Capacita Pagamentos Globais Usando o Apache APISIX?
Yang Li
November 3, 2021
Visão Geral
Desafios
- Um desafio significativo na governança de dados à medida que os negócios da Airwallex se expandem globalmente
- A gestão complicada de vários sistemas e interconexões causa problemas em outros sistemas quando um problema ocorre
Resultados
- Desempenho estável por 15 meses em ambiente de produção
- 99% dos atrasos de resposta estão dentro de 23 ms quando o roteamento dinâmico, limitação de taxa multi-inquilino, lista branca de IP multi-inquilino, autenticação e autorização estão habilitados
- Suporte seguro e eficiente à soberania de dados, cobrindo mais de 50 moedas em mais de 130 países e regiões
Sobre a Airwallex
Como uma empresa global de fintech, a Airwallex construiu uma plataforma financeira global, com sua rede de pagamentos cobrindo mais de 50 moedas em mais de 130 países e regiões em todo o mundo, e fornece produtos de fintech digital para empresas.
Este artigo vem da entrevista com Yang Li, Ph.D., Committer do Apache APISIX e Líder Técnico de Plataforma da Airwallex, responsável pela evolução da plataforma tecnológica da Airwallex.
A Soberania de Dados Representa um Desafio para a Airwallex
A soberania de dados está se tornando cada vez mais importante na governança de dados no ciberespaço. A Airwallex atende usuários em várias regiões, o que naturalmente envolve o problema da soberania de dados.
Antes, sem a exigência de soberania de dados, os dados podiam ser colocados na Europa e sincronizados para a Ásia ou qualquer data center no mundo. O diagrama de interação de dados era assim:
No entanto, em uma era onde a soberania de dados é valorizada, os dados estão sob controle, e a arquitetura anterior não pode ser adotada. Na Europa, apenas dados europeus podem ser processados, e da mesma forma, apenas dados asiáticos podem ser processados na Ásia. As mudanças na interação de dados são as seguintes.
Como resultado, a soberania de dados representa um desafio significativo para os negócios globais da Airwallex. A Airwallex pretende migrar dados da Europa para outras regiões e precisa garantir que os requisitos de soberania de dados de países terceiros estejam alinhados com os da UE.
Por que a Airwallex Escolheu o APISIX?
Ao selecionar o gateway de API, a Airwallex comparou principalmente os principais produtos de gateway em seis dimensões:
-
Estabilidade: A Airwallex dá grande importância à garantia da estabilidade do gateway de API. Entre os 1000 principais sites do mundo, 62,1% são baseados em NGINX, o que mostra que os servidores web baseados em NGINX passaram no teste de cenários complexos e diversos em ambiente de produção. O Apache APISIX é baseado no NGINX. Além disso, o design do recurso totalmente dinâmico do Apache APISIX também torna possível modificar a rota sem recarregar e manter a conexão longa do cliente. Além disso, a Airwallex também realizou testes de estresse no Apache APISIX, que ainda pode funcionar de forma estável quando o uso da CPU atinge mais de 70%.
-
Desempenho: Cada solicitação de API passará pelo gateway de API. Reduzir a perda de desempenho do gateway pode reduzir significativamente o tempo geral de resposta das APIs da Airwallex.
"No PoC, comparamos os principais produtos de gateway: o atraso de resposta do Apache APISIX é mais de 50% menor do que o de outros gateways. Além disso, o plano de dados independente do Apache APISIX permite instâncias independentes nos clusters, tornando-o inerentemente suportável à expansão horizontal." disse Li.
-
Escalabilidade: A Airwallex precisa que o APISIX funcione como um gateway de API que suporte autenticação complexa, controle de permissões, descoberta de serviços, limitação de taxa, degradação, balanceamento de carga, lista branca e roteamento dinâmico.
-
Comunidade Ativa: Uma comunidade ativa é fundamental para que o Gateway de API acompanhe o ritmo da evolução tecnológica.
A comunidade do Apache APISIX estava ativa desde que ainda era um projeto de incubação da Apache, julgando pelo número de contribuidores, tempo de resposta de problemas e número de Pull Requests. Li compartilhou.
-
Implantação Privada: O gateway de API é um componente central da arquitetura técnica da Airwallex, que implanta o gateway de API na borda de sua própria rede privada. O Apache APISIX tem boa adaptabilidade ambiental e pode ser facilmente implantado em vários ambientes, incluindo plataformas de computação em nuvem.
-
Licença Open-source Amigável para Negócios: A Licença Apache 2.0 permite que a Airwallex modifique o código do APISIX e o comercialize sem se preocupar com o bloqueio de fornecedores.
Solução de Roteamento Inteligente do Apache APISIX
A Airwallex escolheu o Apache APISIX para fazer uma solução de roteamento inteligente, e é o gateway Apache APISIX que decide onde os dados devem ser processados.
O gateway é composto por duas camadas. A primeira camada é responsável por rotear as solicitações, determinando para qual data center a solicitação deve chegar com base nas condições. A segunda camada é responsável pelo encaminhamento de tráfego.
Além disso, a Airwallex implementou as principais funções como plugins personalizados para atualizar para uma nova versão do Apache APISIX a qualquer momento. Dessa forma, não haverá condição de corrida entre a biblioteca de código da Airwallex e o código principal do repositório do Apache APISIX. No entanto, modificar o código principal é necessário às vezes. Nesse momento, Li tentaria ao máximo implementar essas funções na comunidade open-source. Os contribuidores da comunidade são muito entusiasmados em discutir a implementação de funções e, na maioria dos casos, podem fornecer rapidamente soluções disponíveis.
Como a Airwallex Está se Beneficiando do Uso do APISIX?
Abaixo está um diagrama mostrando a integração da Airwallex com o APISIX.
A Airwallex utiliza o Apache APISIX como o componente central do modelo de gateway de microsserviços. Ele é implantado na borda da rede e fornece uma função de gateway geral para todo o tráfego que entra na Airwallex. Os problemas que ele resolve incluem:
-
Soberania de Dados: Para infraestrutura financeira que opera além das fronteiras, a soberania de dados é um requisito regulatório crítico. Para isso, a Airwallex desenvolveu um plugin de roteamento dinâmico em conformidade com as regulamentações, aproveitando as capacidades de seleção dinâmica de upstream do Apache APISIX. O roteamento dinâmico pode selecionar inteligentemente upstreams para distribuição de solicitações de acordo com as características das solicitações dos usuários, abstraindo questões complexas de colaboração multi-data center da camada de serviço para a camada de gateway. A essência do roteamento dinâmico é responder a duas perguntas: como agrupar upstream e como combinar solicitações e grupos.
-
Isolamento em Microsserviços: A Airwallex espera que as equipes de engenharia de cada microsserviço possam controlar independentemente seus próprios serviços, reduzir efetivamente o custo de comunicação e coordenação e melhorar a eficiência de engenharia. Esse conceito arquitetônico exige que componentes de infraestrutura compartilhados por várias equipes, como o Gateway de API, possam suportar o isolamento de inquilinos. O APISIX é perfeito para satisfazer o isolamento de inquilinos. Enquanto garante a robustez e o controle de custos de todo o sistema, o APISIX permite que as equipes de negócios configurem e expandam as funções do gateway de acordo com suas próprias necessidades, mantendo a independência das equipes e serviços de microsserviços.
-
Limitação de Taxa Multi-inquilino: Em um ambiente multi-inquilino, as características de tráfego de cada inquilino são diferentes. Aplicar a mesma limitação de taxa a diferentes inquilinos não atende às necessidades comerciais. A limitação de taxa multi-inquilino pode ser mais apropriada com base nas características do usuário.
-
Lista Branca de IP Multi-inquilino: O IP de acesso de cada inquilino varia em um ambiente multi-inquilino. A lista branca de IP multi-inquilino permite que cada inquilino controle sua própria lista branca sem se preocupar com a invasão de seus próprios recursos por outros usuários.
-
Autenticação: A atualização frequente de chaves é um elo crítico para garantir a segurança dos recursos do usuário. O APISIX suporta não apenas a autenticação de solicitações, mas também a atualização dinâmica de chaves.
-
Autorização: O gerenciamento de permissões de aplicativos empresariais é muito complicado, e diferentes cenários de aplicação têm modelos de gerenciamento de permissões completamente diferentes. O APISIX pode verificar se o usuário solicitante tem permissões suficientes para acessar a interface de acordo com a configuração de roteamento e interceptar tráfego ilegal na primeira vez.
O ambiente de produção da Airwallex está em execução há 15 meses, e o desempenho geral é extremamente estável. Cerca de 99% dos atrasos de resposta estão dentro de 23ms quando o roteamento dinâmico, limitação de taxa multi-inquilino, lista branca de IP multi-inquilino, autenticação, autorização e outras funções estão habilitadas.
Graças ao excelente mecanismo de plugins do Apache APISIX, a Airwallex pode adicionar plugins privados que atendam às necessidades de negócios sem modificar seu código principal. O sistema de teste completo garante ainda mais a qualidade do software, e você pode aumentar com segurança os requisitos personalizados do plugin enquanto garante que a lógica principal original não seja danificada.
Plano Futuro
O plano de acompanhamento da Airwallex inclui principalmente três aspectos:
-
Usar uma rede de várias camadas para dividir a lógica do gateway em diferentes camadas, como distribuir tráfego de acordo com a soberania de dados ou outra lógica de gateway.
-
Gerenciamento de roteamento fácil de ler e usar é crítico para o sucesso do gateway de API. O gerenciamento de roteamento precisa ser amigável para os desenvolvedores, para que eles possam entender facilmente o que o gateway pode fazer por eles e como configurá-lo e publicá-lo.
-
Usar solicitações codificadas por cores para ajudar a implementar testes em ambiente de produção. Usar solicitações codificadas por cores do gateway de API para implementar testes em ambiente de produção pode trazer mais flexibilidade e facilidade de uso.
Procurando Suporte para o APISIX?
Apache APISIX é um gateway de API nativo da nuvem, open-source, dinâmico, escalável e de alto desempenho para todas as suas APIs e microsserviços. Sendo doado à Apache Software Foundation pela API7.ai, o APISIX cresceu para se tornar um projeto open-source de alto nível da Apache.
Você quer acelerar seu desenvolvimento com confiança como a Airwallex? Para maximizar o suporte ao APISIX, você precisa da API7. Fornecemos suporte aprofundado para o APISIX e soluções de gerenciamento de API com base em suas necessidades!
Entre em contato conosco agora: https://api7.ai/contact.
Mais sobre o entrevistado: