Finanzinstitute müssen eine große Anzahl von Transaktionen pro Sekunde verarbeiten. Da diese Transaktionen in der Regel hochsensible Daten enthalten, müssen sie noch strengere Anforderungen an Sicherheit, Latenz und Konsistenz stellen als sonst. Sie müssen sicherstellen, dass alle Transaktionen, egal ob es sich um E-Commerce-Käufe oder direkte Banküberweisungen handelt, sofort, sicher und fehlerfrei ablaufen. Können Sie sich vorstellen, dass die Zahlung eines Kunden in der Schwebe hängen bleibt, weil Ihr System nicht mithalten kann? Die Enttäuschung und die Abbruchquote würden ins Unermessliche steigen. Wie können Sie also ein hochgradig verteiltes, latenzarmes und weltweit konsistentes System aufbauen?
Die hohen Anforderungen an die Leistung der Zahlungsverarbeitung
Kürzlich war einer unserer Kunden, eine große nationale Bank, mit genau diesem Datenverarbeitungsproblem konfrontiert. Diese Bank wickelt täglich ein gewaltiges Volumen an Online-Transaktionen ab - Millionen und Abermillionen von Zahlungen, Geldüberweisungen und Kartenregistrierungen, die von Kunden aus den gesamten Vereinigten Staaten durch ihre Systeme geschleust werden. Diese Transaktionen mussten auf dem gleichen Stand gehalten werden.
Sie mussten in der Lage sein, diese Transaktionen aufzunehmen und zu verarbeiten, egal ob sie aus New York, Los Angeles oder irgendwo dazwischen kamen. Schon die kleinste Verzögerung oder Inkonsistenz konnte zu Zahlungsausfällen oder Sicherheitsverletzungen führen. Sie können sich also vorstellen, wie hoch die Anforderungen an Leistung und Datenkonsistenz waren. Es handelte sich um ein wirklich unternehmenskritisches System, auf das sich das gesamte Unternehmen verließ.
Diese Bank benötigte schnelle Antwortzeiten, da eine Verzögerung von mehr als fünf Sekunden die Kundenzufriedenheit erheblich beeinträchtigen kann. Nach Angaben von Kissmetrics erwarten 47 % der Kunden, dass Transaktionen in weniger als zwei Sekunden abgeschlossen werden. Hohe Latenzzeiten und häufige Zeitüberschreitungen frustrieren nicht nur die Nutzer, sondern führen auch zum Abbruch von Transaktionen. Laut einer Studie von Harris Interactive haben 66 % der Mobile-Banking-Nutzer berichtet, dass sie eine Transaktion aufgrund von Problemen während des Bezahlvorgangs abgebrochen haben, wobei 36 % insbesondere langsame Ladezeiten als Hauptgrund für den Abbruch nannten, was deutlich macht, wie wichtig Geschwindigkeit und Zuverlässigkeit bei digitalen Bankdienstleistungen sind. Daher waren die Minimierung von Latenzzeiten und die Vermeidung von Zeitüberschreitungen für diesen Kunden nicht nur eine technische Herausforderung, sondern auch entscheidend, um das Vertrauen der eigenen Kunden zu erhalten.
Schnelle und verlässliche Zahlungsabwicklung mit Akamai
Die Anforderungen der Bank waren klar: Sie wollte ein hochgradig verteiltes System mit geringer Latenz aufbauen, das eine konstant hohe Leistung bietet. Außerdem war eine globale Datenkonsistenz erforderlich sowie ein intelligentes Request Routing, um sicherzustellen, dass jede Abfrage den nächstgelegenen, leistungsfähigsten Knoten erreicht. Sie brauchten eine Lösung, die diesen enormen Zustrom an sensiblen Daten aufnehmen, sie eng synchronisieren und dann schnell mit minimaler Latenz und maximaler Verfügbarkeit bereitstellen konnte.
Um dies zu erreichen, nutzten sie Akamai's intelligentes Global Traffic Management und das rasend schnelle NATS.io Messaging-System. NATS.io ist ein hochleistungsfähiges Messaging-System, das für Cloud-native Umgebungen optimiert ist und eine effiziente Datenverteilung und -synchronisation ermöglicht.
Werfen wir einen Blick auf die obige Referenzarchitektur, die wir für diesen Kunden implementiert haben und die NATS.io und Akamai nutzt, um globale Konsistenz und hohe Leistung für digitale Zahlungssysteme zu erreichen.
In dem oben dargestellten Schritt 1 löst ein Nutzer eine Transaktion über seine digitale Zahlungsanwendung aus, und die Anwendung sendet die Transaktionsdaten an den DNS.
Anschließend leitet der DNS die Transaktion an die nächstgelegene Akamai-Rechenregion weiter. Die Transaktionsdaten werden dann über das HTTPS/NATS-Gateway an den NATS.io-Broker in der ausgewählten Region gesendet. Der NATS.io-Cluster sorgt dafür, dass diese Daten mit einer Latenzzeit von weniger als 100 Millisekunden an alle anderen Regionen innerhalb des Systems weitergeleitet werden, um die globale Konsistenz zu gewährleisten. Alle erforderlichen Daten (z. B. Benutzersaldo, Transaktionsverlauf) werden schnell abgerufen und in allen Regionen aktualisiert. Sobald die Transaktion verarbeitet ist, wird eine Antwort über das HTTPS/NATS-Gateway an den Benutzer zurückgesendet. Das DNS sorgt dafür, dass die Antwort optimal weitergeleitet wird und der Nutzer in Echtzeit über den Transaktionsstatus informiert wird.
Diese Architektur ist aus zwei Gründen äußerst vorteilhaft: Sie verbessert die Leistung und Skalierbarkeit. Sie nutzt den leistungsbasierten DNS-Lastausgleich und die Hochgeschwindigkeitsausbreitung von NATS.io, um Antworten mit geringer Latenz zu liefern, die für die Zahlungsabwicklung in Echtzeit entscheidend sind. Die verteilte Natur der Akamai-Rechenregionen stellt sicher, dass das System auch dann verfügbar bleibt, wenn in einer oder mehreren Regionen Probleme auftreten.
Wenn das Transaktionsvolumen wächst, können zusätzliche Rechenregionen und NATS.io-Broker problemlos in das System integriert werden. Dieser horizontale Skalierungsansatz ermöglicht es dem System, eine höhere Last ohne signifikante Umstrukturierung zu bewältigen. Durch die Verteilung der Last auf mehrere Regionen kann die Architektur eine höhere Anzahl gleichzeitiger Transaktionen unterstützen und dabei niedrige Latenzzeiten und hohe Leistung beibehalten. Ein weiterer wichtiger Aspekt der Skalierbarkeit dieser Architektur ist ihre Fähigkeit, Lastspitzen effizient zu bewältigen. In Zeiten hoher Nachfrage, wie z. B. während der Weihnachtszeit oder bei großen Verkaufsveranstaltungen, kann das System dynamisch mehr Ressourcen zuweisen, um den Anstieg der Transaktionen zu bewältigen. Dadurch wird sichergestellt, dass die Benutzer unabhängig vom Transaktionsvolumen eine gleichbleibende Leistung erhalten.
Intelligenter DNS-basierter Lastausgleich für optimale Leistung
Nachdem wir diese Lösung entwickelt hatten, haben wir sie für den Kunden getestet. Wir erstellten einen Beispieldatensatz mit 100 Millionen Schlüsseln und luden diesen in einen hochverfügbaren NATS.io-Cluster in einer unserer Kern-Rechenregionen.
Den Kern bildete ein 3-Knoten-NATS.io-Cluster, der in einer primären Akamai-Rechenregion eingesetzt wurde und Redundanz und Hochverfügbarkeit bot (siehe oben). Als Nächstes fügten wir einzelne NATS.io-Maschinen als Leaf-Knoten hinzu, die an 10 verschiedenen Akamai-Rechenstandorten in Nordamerika eingesetzt wurden. Durch die Verteilung der NATS.io-Knoten über das globale Akamai-Edge-Netzwerk können die Daten näher an die Endnutzer gebracht werden, was die Latenzzeit reduziert.
Jeder dieser verteilten NATS-Knoten verfügte über sichere HTTPS-Gateways, die es den Anwendungen ermöglichten, sich über Standard-Webprotokolle mit dieser Hochgeschwindigkeits-Datenpipeline zu verbinden. Es waren keine komplexen Integrationen erforderlich. Der eigentliche Clou liegt jedoch darin, wie wir unser globales Edge-Netzwerk und unsere Lastausgleichsfunktionen genutzt haben. Wenn einer der Kunden eine Zahlung vornimmt oder sich für eine neue Karte registriert, nutzt Akamai Global Traffic Management einen intelligenten DNS-basierten Lastausgleich, um die Benutzer an die nächstgelegene, leistungsfähigste Akamai-Compute-Region weiterzuleiten.
Dadurch wird sichergestellt, dass die Benutzer immer mit dem nächstgelegenen verfügbaren Knoten verbunden sind, wodurch die Latenzzeit minimiert und eine hohe Verfügbarkeit gewährleistet wird. Der Lastausgleich berücksichtigt Faktoren wie den Standort des Benutzers, die Netzwerkbedingungen und den Zustand des Knotens, um Routing-Entscheidungen zu treffen. Anstatt also das Internet und mehrere Hops zu durchqueren, um eine zentrale Datenbank zu erreichen, trifft der Kunde nur wenige Millisekunden entfernt auf eine verteilte NATS-Instanz, in der die Daten bereits vorbereitet sind und lokal zur Verfügung stehen. Diese Lösung mit geringer Latenz garantiert, dass die Daten durch die verteilten NATS.io-Knoten näher an die Endnutzer herangebracht werden, und intelligentes Routing stellt sicher, dass Anfragen den nächstgelegenen verfügbaren Knoten erreichen. Darüber hinaus synchronisiert das NATS.io-Nachrichtensystem die Daten über alle Knoten hinweg innerhalb eines engen Zeitfensters von 100 ms und sorgt so für globale Datenkonsistenz.
Das Endergebnis
Diese leistungsstarke Lösung integriert das weltweit verteilte Edge-Netzwerk von Akamai, intelligentes Traffic-Management und das NATS.io-Messaging-System, um unabhängig vom Datenverkehr eine hervorragende Leistung zu erzielen. Nachdem die Bank zu Akamai gewechselt hatte, konnte sie das SLA-Fenster von 60 Millisekunden mit ihrem digitalen Zahlungsanbieter durchgängig einhalten, wodurch Schwankungen eliminiert und der Workflow beschleunigt wurde. Durch diese Umstellung wurde nicht nur die Einhaltung der strengen SLAs des Anbieters für digitale Zahlungen verbessert, sondern auch die Kundenzufriedenheit durch eine zuverlässige und schnelle Transaktionsverarbeitung erhöht. Dieser Anwendungsfall verdeutlicht, wie wichtig die Wahl der richtigen Infrastruktur für die Unterstützung digitaler Zahlungslösungen ist und welch großen Einfluss sie auf die Erhaltung des Kundenvertrauens haben kann.
Wenn Sie ein System mit niedriger Latenzzeit implementieren möchten, würden wir gerne mit Ihnen sprechen! Oder Sie können ein Guthaben von bis zu 5.000 $ beantragen, um Ihre aktuelle Infrastruktur auf Linode zu migrieren.
Kommentare