HeadlinesBriefing favicon HeadlinesBriefing.com

Architecture de paiement à grande échelle d'American Express

ByteByteGo •
×

Architecture de paiement à grande échelle d'American Express

Lorsqu'un client effectue un paiement, il s'attend à ce que la transaction soit approuvée ou refusée presque instantanément. Cette exigence unique détermine la manière dont tout le traitement des paiements est construit, car l'ensemble du processus doit être achevé dans cette courte fenêtre de temps. Nous avons discuté avec Ben Cane, ingénieur distingué chez American Express, pour comprendre comment leur plateforme gère ce défi.

Pour comprendre comment cela fonctionne, imaginons ce qui se passe lorsqu'une transaction arrive chez American Express. Elle est acheminée vers l'une des plusieurs cellules indépendantes et passe par une chaîne de microservices. Cependant, à mi-chemin, l'un de ces services commence à échouer, et le client au terminal de paiement attend toujours. Réessayer la transaction dans la cellule défaillante comporte un risque évident. De plus, déplacer la transaction vers un autre serveur est un problème encore plus difficile.

L'équipe d'ingénierie d'American Express gère cela avec une architecture basée sur des cellules qui aide à minimiser l'impact d'une interruption. Lors de notre conversation avec l'équipe d'ingénierie d'American Express, nous avons appris que la majeure partie de l'effort d'ingénierie consiste à maintenir cet isolement intact. Dans un flux de paiement typique, American Express se situe au milieu de la chaîne. Une banque acquéreuse entretient une relation avec le commerçant, envoie la transaction à American Express, et American Express la transmet à la banque émettrice, qui gère le solde du compte.

En 2018, American Express a commencé à moderniser cette plateforme vers une infrastructure cloud-native. Immédiatement, il est devenu clair qu'une hypothèse devait changer. Alors que les anciens systèmes fonctionnaient sur du matériel conçu pour fonctionner en continu, l'infrastructure cloud se comportait différemment. La conception finalement choisie a été motivée par des décennies de réflexion interne. Ben a souligné qu'à l'ère du SOA, ces modèles existaient déjà, avant même que le terme plus formel d'architecture basée sur des cellules ne soit inventé. Dans une architecture basée sur des cellules, une cellule est une copie complète et autonome de la pile de traitement des paiements, y compris les microservices, les bases de données et le DNS.

Entités clés : Entreprises : American Express | Personnes : Ben Cane

Questions fréquentes :

Q : Comment American Express garantit-elle la fiabilité du traitement des paiements à grande échelle ?

R : American Express utilise une architecture basée sur des cellules où chaque cellule est une copie complète et autonome de la pile de traitement des paiements, y compris les microservices, les bases de données et le DNS. Cette conception isole les pannes, de sorte que si un service échoue, l'impact est contenu dans cette cellule, permettant aux paiements d'être traités rapidement sans interruption à l'échelle du système.