Les institutions financières doivent traiter un nombre considérable de transactions par seconde. Comme ces transactions contiennent généralement des données très sensibles, elles ont besoin de normes de sécurité, de latence et de cohérence encore plus rigoureuses que d'habitude. Elles doivent s'assurer que toutes les transactions, qu'il s'agisse d'achats en ligne ou de virements bancaires directs, sont instantanées, sécurisées et exemptes d'erreurs. Pouvez-vous imaginer que le paiement d'un client reste bloqué parce que votre système ne peut pas suivre ? Les taux de frustration et d'abandon atteindraient des sommets. Alors, comment construire un système hautement distribué, à faible latence et cohérent à l'échelle mondiale ?
Les enjeux de la performance du traitement des paiements
Récemment, l'un de nos clients, une grande banque nationale, a été confronté à ce problème de traitement des données. Cette banque traite chaque jour un volume stupéfiant de transactions en ligne - des millions et des millions de paiements, de transferts d'argent et d'enregistrements de cartes, qui transitent par ses systèmes à partir de clients répartis sur l'ensemble du territoire des États-Unis. Ces transactions devaient être synchronisées.
Ils devaient être en mesure d'ingérer et de traiter ces transactions, qu'elles proviennent de New York, de Los Angeles ou de n'importe où entre les deux. Le moindre retard ou la moindre incohérence pouvait entraîner des échecs de paiement ou des failles de sécurité. Vous pouvez donc imaginer le niveau de performance et de cohérence des données dont ils avaient besoin. Il s'agissait d'un véritable système critique sur lequel toute l'entreprise s'appuyait.
Cette banque avait besoin de temps de réponse rapides, car un délai de plus de cinq secondes peut réduire considérablement la satisfaction des clients. Selon Kissmetrics, 47 % des clients s'attendent à ce que les transactions se terminent en moins de deux secondes. Un temps de latence élevé et des délais d'attente fréquents non seulement frustrent les utilisateurs, mais conduisent également à l'abandon de la transaction. Selon une étude réalisée par Harris Interactive, 66 % des utilisateurs de services bancaires mobiles ont déclaré avoir abandonné une transaction en raison de problèmes survenus au cours du processus de paiement, 36 % d'entre eux citant spécifiquement la lenteur du chargement comme principale raison de l'abandon, ce qui souligne le besoin critique de rapidité et de fiabilité des services bancaires numériques. Par conséquent, minimiser la latence et éviter les temps morts n'étaient pas seulement des défis techniques pour ce client, mais aussi des éléments essentiels pour maintenir la confiance de ses propres clients.
Assurer un traitement rapide et fiable des paiements avec Akamai
Les exigences de la banque étaient claires : elle voulait construire un système hautement distribué, à faible latence, capable de fournir des performances rapides et constantes. Elle devait également disposer d'une cohérence globale des données, ainsi que d'un routage intelligent des requêtes pour s'assurer que chaque requête atteigne le nœud le plus proche et le plus performant. Ils avaient besoin d'une solution capable de prendre en charge cet afflux considérable de données sensibles, de les maintenir étroitement synchronisées et de les servir rapidement avec un temps de latence minimal et une disponibilité maximale.
Pour ce faire, ils ont utilisé le système de messagerie intelligent Global Traffic Management d'Akamai et le système de messagerie NATS.io ultra-rapide. NATS.io est un système de messagerie hautes performances optimisé pour les environnements cloud-native, permettant une distribution et une synchronisation efficaces des données.
Examinons l'architecture de référence ci-dessus que nous avons mise en œuvre pour ce client et qui exploite NATS.io et Akamai pour obtenir une cohérence globale et des performances élevées pour les systèmes de paiement numérique.
À l'étape 1 ci-dessus, un utilisateur initie une transaction par le biais de son application de paiement numérique, et l'application envoie les données de la transaction au DNS.
Ensuite, le DNS dirige la transaction vers la région de calcul d'Akamai la plus proche. Les données de la transaction sont ensuite envoyées au courtier NATS.io dans la région sélectionnée via la passerelle HTTPS/NATS. Le cluster NATS.io veille à ce que ces données soient propagées vers toutes les autres régions du système avec un temps de latence inférieur à 100 millisecondes, ce qui permet de maintenir une cohérence globale. Toutes les données requises (par exemple, le solde de l'utilisateur, l'historique des transactions) sont rapidement récupérées et mises à jour dans toutes les régions. Une fois la transaction traitée, une réponse est envoyée à l'utilisateur via la passerelle HTTPS/NATS. Le DNS veille à ce que la réponse soit acheminée de manière optimale, fournissant à l'utilisateur un retour d'information en temps réel sur l'état de la transaction.
Cette architecture est très avantageuse pour deux raisons : elle améliore les performances et l'évolutivité. Elle utilise l'équilibrage de charge DNS basé sur les performances et la propagation à grande vitesse de NATS.io pour fournir des réponses à faible latence qui sont essentielles pour le traitement des paiements en temps réel. La nature distribuée des régions de calcul d'Akamai garantit que le système reste disponible même si une ou plusieurs régions rencontrent des problèmes.
Au fur et à mesure que le volume des transactions augmente, des régions de calcul et des courtiers NATS.io supplémentaires peuvent être facilement intégrés dans le système. Cette approche horizontale permet au système de gérer une charge accrue sans devoir procéder à une réorganisation importante. En répartissant la charge sur plusieurs régions, l'architecture peut prendre en charge un plus grand nombre de transactions simultanées tout en maintenant une faible latence et des performances élevées. Un autre aspect clé de l'évolutivité de cette architecture est sa capacité à gérer efficacement les pics de charge. Pendant les périodes de forte demande, telles que les fêtes de fin d'année ou les grands événements commerciaux, le système peut allouer dynamiquement davantage de ressources pour gérer l'afflux de transactions. Les utilisateurs bénéficient ainsi de performances constantes, quel que soit le volume de transactions.
Équilibrage intelligent de la charge basé sur le DNS pour une performance optimale
Après avoir conçu cette solution, nous l'avons testée pour le client. Nous avons créé un échantillon de 100 millions de clés et l'avons chargé dans un cluster NATS.io hautement disponible dans l'une de nos principales régions de calcul.
Le noyau était un cluster NATS.io à 3 nœuds déployé dans une région de calcul primaire d'Akamai, assurant la redondance et la haute disponibilité (voir ci-dessus). Ensuite, nous avons ajouté des machines NATS.io à nœud unique déployées sur 10 sites de calcul distincts d'Akamai en Amérique du Nord. En répartissant les nœuds NATS.io sur le réseau périphérique mondial d'Akamai, les données peuvent être rapprochées des utilisateurs finaux, ce qui réduit les temps de latence.
Chacun de ces nœuds NATS distribués était équipé de passerelles HTTPS sécurisées, permettant à leurs applications de s'interfacer avec ce pipeline de données à grande vitesse à l'aide de protocoles web standard. Aucune intégration complexe n'est nécessaire. Mais la véritable magie réside dans la manière dont nous avons utilisé notre réseau périphérique mondial et nos capacités d'équilibrage de la charge. Lorsque l'un de leurs clients effectue un paiement ou s'inscrit pour une nouvelle carte, le site Global Traffic Management d'Akamai exploite un équilibrage de charge intelligent basé sur le DNS pour acheminer les utilisateurs vers la région de calcul d'Akamai la plus proche et la plus performante.
Les utilisateurs sont ainsi toujours connectés au nœud disponible le plus proche, ce qui minimise les temps de latence et assure une grande disponibilité. L'équilibrage de la charge prend en compte des facteurs tels que la localisation de l'utilisateur, les conditions du réseau et la santé du nœud pour prendre des décisions de routage. Ainsi, au lieu d'avoir à traverser l'internet et de multiples sauts pour atteindre une base de données centralisée, le client accède à l'instance NATS distribuée à quelques millisecondes de distance, les données étant déjà préparées et prêtes à être utilisées localement. Cette solution à faible latence garantit que les données sont rapprochées des utilisateurs finaux grâce aux nœuds NATS.io distribués, et le routage intelligent garantit que les demandes atteignent le nœud disponible le plus proche. En outre, le système de messagerie NATS.io synchronise les données entre tous les nœuds dans une fenêtre étroite de 100 ms, ce qui garantit la cohérence des données à l'échelle mondiale.
Le résultat final
Cette solution puissante a intégré le réseau périphérique mondialement distribué d'Akamai, la gestion intelligente du trafic et le système de messagerie NATS.io pour des performances supérieures, quel que soit le trafic. Après avoir adopté Akamai, la banque a respecté en permanence la fenêtre SLA de 60 millisecondes avec son fournisseur de paiement numérique, éliminant ainsi la variabilité et accélérant le flux de travail. Ce changement a permis non seulement d'améliorer la conformité avec l'accord de niveau de service rigoureux du fournisseur de paiement numérique, mais aussi d'améliorer l'expérience globale des clients en leur offrant un traitement fiable et rapide des transactions. Ce cas d'utilisation met en évidence le rôle critique du choix de la bonne infrastructure pour soutenir les solutions de paiement numérique et l'impact significatif qu'elle peut avoir sur le maintien de la confiance des clients.
Si vous cherchez à mettre en place un système à faible latence, nous serions ravis d'en discuter avec vous ! Vous pouvez également demander jusqu'à 5 000 $ de crédits pour migrer votre infrastructure actuelle vers Linode.
Commentaires