HeadlinesBriefing favicon HeadlinesBriefing.com

Arquitetura de Pagamentos em Escala da American Express

ByteByteGo •
×

Arquitetura de Pagamentos em Escala da American Express

Quando um cliente faz um pagamento, espera que a transação seja aprovada ou rejeitada quase instantaneamente. Esse único requisito determina como todo o processamento de pagamentos é construído, pois todo o processo deve ser concluído nessa janela curta de tempo. Conversamos com Ben Cane, Engenheiro Distinto na American Express, para entender como sua plataforma lida com esse desafio.

Para entender como funciona, vamos imaginar o que acontece quando uma transação chega à American Express. Ela é roteada para uma de várias células independentes e passa por uma cadeia de microsserviços. No entanto, no meio do caminho, um desses serviços começa a falhar, e o cliente no terminal de checkout ainda está esperando. Tentar novamente a transação dentro da célula com falha apresenta um risco óbvio. Além disso, mover a transação para outro servidor é um problema ainda mais difícil.

A equipe de engenharia da American Express lida com isso usando uma arquitetura baseada em células que ajuda a minimizar o impacto de uma interrupção. Em nossa conversa com a equipe de engenharia da American Express, aprendemos que a maior parte do esforço de engenharia vai para manter esse isolamento intacto. Em um fluxo de pagamento típico, a American Express fica no meio da cadeia. Um banco adquirente mantém um relacionamento com o comerciante, envia a transação para a American Express, e a American Express a entrega ao banco emissor, que gerencia o saldo da conta.

Em 2018, a American Express começou a modernizar essa plataforma para uma infraestrutura nativa em nuvem. Imediatamente, ficou claro que uma suposição precisava mudar. Enquanto os sistemas antigos rodavam em hardware projetado para operação contínua, a infraestrutura em nuvem se comportava de maneira diferente. O design finalmente escolhido foi impulsionado por décadas de reflexão interna. Ben observou que, na era SOA, esses padrões já existiam, antes mesmo de o termo mais formal de arquitetura baseada em células ser cunhado. Em uma arquitetura baseada em células, uma célula é uma cópia completa e autossuficiente da pilha de processamento de pagamentos, incluindo microsserviços, bancos de dados e DNS.

Entidades-chave: Empresas: American Express | Pessoas: Ben Cane

Perguntas frequentes:

P: Como a American Express garante a confiabilidade do processamento de pagamentos em grande escala?

R: A American Express usa uma arquitetura baseada em células onde cada célula é uma cópia completa e autossuficiente da pilha de processamento de pagamentos, incluindo microsserviços, bancos de dados e DNS. Esse design isola falhas, de modo que, se um serviço falhar, o impacto fica contido nessa célula, permitindo que os pagamentos sejam processados rapidamente sem interrupção em todo o sistema.