APISIX steigert die Systemleistung für das Risk-Management-Unternehmen

Jing Yan

Jing Yan

January 23, 2024

Case Study

Überblick

Über DataVisor

DataVisor ist spezialisiert auf Plattformen für Betrugs- und Risikomanagement und befähigt Organisationen, sich dynamisch gegen sich entwickelnde Betrugsangriffe zu wehren und Risiken in Echtzeit proaktiv zu managen. Die umfangreiche Suite von Lösungen integriert patentiertes Machine-Learning, native Geräteintelligenz und eine robuste Entscheidungsengine, um den Schutz während des gesamten Kundenlebenszyklus in verschiedenen Branchen und Anwendungsfällen zu gewährleisten. DataVisor nimmt eine führende Position in der Branche ein und wird weltweit von Fortune-500-Unternehmen genutzt.

Herausforderungen

  • DataVisor steht vor der kritischen Aufgabe, die effiziente Ausführung von Risikokontrollberechnungen sicherzustellen, um potenzielle Risiken zu verhindern.

  • Die Balance zwischen Sicherheit und einem hervorragenden Benutzererlebnis stellt eine Herausforderung für DataVisor dar.

  • Die Wahl eines stabilen, niedrig-latenz API-Gateway-Tools ist entscheidend, um den reibungslosen Betrieb des Systems von DataVisor zu gewährleisten.

Ergebnisse

  • Durch die Nutzung von APISIX hat DataVisor seine Abläufe optimiert und durch die Integration spezifischer Plugins eine verbesserte Flexibilität erreicht.

  • APISIX zeichnet sich durch seine Fähigkeit aus, die Latenz für DataVisor erheblich zu reduzieren, was zu kürzeren Verarbeitungszeiten für Benutzeranfragen führt.

  • DataVisor hat erfolgreich große Anfragemengen verarbeitet und die Systemstabilität und -zuverlässigkeit unter hoher Last mit APISIX sichergestellt, was eine robuste Grundlage für die Bewältigung von Spitzen im Benutzerverkehr bietet.

Hintergrund

Das Gebiet des Risikomanagements befasst sich mit großen Mengen sensibler Daten und Transaktionsinformationen, was verstärkte Sicherheitsmaßnahmen erfordert, um potenzielle Cyberangriffe und Datenlecks abzuwehren. Daher benötigt DataVisor, wie die meisten Risikomanagement-Unternehmen, eine Lösung für das Gateway-Management, um Sicherheit und Effizienz zu gewährleisten.

In der Produktentwicklung hat DataVisor eine umfassende Lösung für Gateway und Authentifizierung eingeführt. APISIX ist nicht nur eine eigenständige Komponente im Produktökosystem; es arbeitet mit anderen Produkten wie AWS API Gateway, Application Load Balancer (ALB), Imperva und einem integrierten OAuth-Authentifizierungsmechanismus zusammen. Alle diese Tools, die jeweils über Gateway-Funktionen verfügen, arbeiten zusammen, um den Datenverkehr innerhalb des Systems von DataVisor zu ermöglichen.

APISIX_Datavisor

Probleme vor der Nutzung von APISIX

Vor der Einführung von APISIX stand DataVisor vor erheblichen Herausforderungen in der Risikokontrollbranche, die die Notwendigkeit einer transformativen Lösung zur Steigerung der Effizienz und Widerstandsfähigkeit verdeutlichten.

  • Leistungsdruck: In der Risikokontrollbranche, in der Leistungskennzahlen entscheidend sind, steht DataVisor vor der Herausforderung, die rechtzeitige und effiziente Ausführung von Risikokontrollberechnungen sicherzustellen. Verzögerungen bei diesen Berechnungen könnten in diesem wettbewerbsintensiven und risikoreichen Umfeld zu einem Kontrollverlust über potenzielle Risiken führen.

  • Balance zwischen Sicherheit und Benutzererlebnis: Das primäre Ziel von Risikokontrollaufgaben ist es, potenziell schädliche Benutzeraktionen abzufangen, während ein nahtloses Benutzererlebnis erhalten bleibt. Das System von DataVisor muss die Sicherheit der Benutzer gewährleisten, ohne den natürlichen Ablauf der Benutzerinteraktionen zu beeinträchtigen, was eine herausfordernde Balance darstellt.

  • Schwierigkeiten bei der Erfüllung der Anforderungen durch Gateway-Tools: Viele API-Gateway-Tools auf dem Markt haben Probleme wie hohe Latenz oder unvorhersehbare Leistung. Solche Herausforderungen können die Stabilität und Verfügbarkeit des Systems von DataVisor beeinträchtigen, insbesondere wenn die effiziente Verwaltung des Geschäftsverkehrs entscheidend ist. Daher ist die Wahl eines stabilen, niedrig-latenz API-Gateway-Tools entscheidend, um den reibungslosen Betrieb des Systems zu gewährleisten.

Warum APISIX

Bei der Entscheidung für eine Lösung für das Produktionssetup des Unternehmens hat DataVisor sorgfältig Optionen verglichen und sich aus mehreren Gründen für APISIX entschieden:

  1. Kosteneffizienz: Im Vergleich zu grundlegenden Anwendungsgateways von Cloud-Anbietern (wie ALB) bietet APISIX erhebliche Kosteneinsparungen für unsere Betriebe.

  2. Hohe Leistung, niedrige Latenz: APISIX zeichnet sich durch seine herausragende Leistung aus. Im Gegensatz zu anderen API-Gateway-Tools vermeidet APISIX nicht nur spürbare Verzögerungen, sondern ist auch weniger anfällig für Leistungsspitzen, wie P99 oder P9999, was ein reibungsloseres Erlebnis ohne signifikante Latenzprobleme gewährleistet.

  3. Branchenspezifischer Fokus: Im Bereich der Risikokontrolle erfordert unser Geschäftssystem eine schnelle Risikokontrollberechnungszeit von 50 Millisekunden. Wenn diese Berechnung nicht rechtzeitig abgeschlossen wird, führt dies zur sofortigen Verwerfung des Risikokontrollergebnisses. Das Hauptziel der Risikokontrolle ist es, potenziell schädliche Benutzeraktionen abzufangen, ohne deren normale Aktivitäten zu stören.

Implementierung von APISIX

Derzeit erweitert DataVisor die Nutzung von APISIX in einer wachsenden Anzahl von Geschäftsszenarien.

Da DataVisor keine direkten Geschäftsaktivitäten durchführt und hauptsächlich verschiedene Anbieter bedient, die unsere Dienste in Anspruch nehmen, fungiert APISIX als Gateway für den auf dem öffentlichen Netzwerk bereitgestellten Datenverkehr. Dieser Bereitstellungsansatz mag in praktischen Szenarien etwas unkonventionell erscheinen. Typischerweise könnte APISIX in einem Intranet oder eine Ebene unter dem öffentlichen Netzwerk positioniert sein. Die Strategie des Unternehmens, es direkt auf dem öffentlichen Netzwerk zu platzieren, ermöglicht es APISIX jedoch, den Datenverkehr aus verschiedenen Geschäftskanälen effizient zu verwalten.

APISIX_Datavisor_process

Um ein konkreteres Verständnis dafür zu vermitteln, wie wir APISIX in unserer Produktionsumgebung implementieren, wird im Folgenden ein typischer Anwendungsfall beschrieben.

Kunde A initiiert den Zugriff auf unser System über die rote Route, um ein Autorisierungszugriffstoken zu erhalten. Anschließend interagiert es mit dem internen Autorisierungsserver von DataVisor oder verbindet sich über APISIX mit anderen Autorisierungsservern, wie dem weit verbreiteten Okta. Der primäre Authentifizierungsmechanismus des Unternehmens besteht darin, den gesamten Datenverkehr zunächst an Okta zu leiten.

Sobald Kunden verschiedene Token erhalten haben, werden die Routing-Fähigkeiten von APISIX diesen authentifizierten Datenverkehr an verschiedene Kubernetes-Cluster weiterleiten. Derzeit hat DataVisor einen aktiv-aktiv Kubernetes-Cluster bereitgestellt, wobei der Datenverkehr entweder an Cluster A oder Cluster B weitergeleitet wird. Typischerweise wird der Datenverkehr an einen Kubernetes-Cluster geleitet, während der andere als Reserve dient und nur während umfangreicher Upgrades oder Cluster-Updates Datenverkehr verarbeitet.

APISIX_Datavisor_server

In Bezug auf die Nutzung des Gateways hat DataVisor einen relativ einfachen und standardmäßigen Bereitstellungsansatz gewählt. Eine interessante Beobachtung ist, dass DataVisor APISIX außerhalb unseres Kubernetes-Clusters platzieren kann. Dieser Schritt ist dank der herausragenden Leistung von APISIX möglich, die minimale CPU-Ressourcen erfordert. Die Nutzung kleinerer Instanzen außerhalb des Clusters zur Bereitstellung von APISIX hat sich als effektiv erwiesen, um signifikanten Netzwerkverkehr zu bewältigen.

In der Produktionsumgebung von DataVisor hat das Unternehmen drei APISIX-Knoten bereitgestellt, von denen jeder möglicherweise nur mit zwei Kernen konfiguriert ist. Es wurden auch Mini-Computer mit 2G oder 4G Speicher eingesetzt, um die Verkehrslast zu bewältigen. Laut dem Entwickler von DataVisor wird erwartet, dass die Leistung von APISIX der von NGINX und OpenResty entspricht und möglicherweise sogar seine anfänglichen Erwartungen übertrifft.

Anpassung von APISIX

Verbesserung des privilegierten Prozesses

Während es in NGINX kein Konzept eines privilegierten Prozesses gibt, ist dies in OpenResty vorhanden, wo es auf derselben Ebene wie die Worker-Prozesse steht. Dieser Prozess ist etwas speziell, da er keinen eingehenden Netzwerkverkehr verarbeitet – er lauscht nicht auf Ports. Er kann jedoch verschiedene Berechnungen und Datenerfassungsaufgaben durchführen. Daher hat DataVisor diesen privilegierten Prozess erweitert, um ihre spezifischen Anforderungen zu erfüllen.

APISIX_Datavisor_backend

Das obige Diagramm bietet einen klaren Überblick über die Beziehung zwischen APISIX und den Backend-Diensten von DataVisor. Die primäre Nutzung von APISIX durch das Unternehmen besteht darin, Datenverkehr zu empfangen und zu verteilen.

Auf der Gateway-Ebene führt APISIX eine Vorverarbeitung durch, bevor der Datenverkehr eintritt. Was die Konfiguration von DataVisor auszeichnet, ist die Einführung eines kleinen Prozesses auf der APISIX-Ebene. Dieser Prozess, der wie ein Sidecar funktioniert, arbeitet parallel zum APISIX-Prozess, der für die Ausführung seiner spezifischen Aufgaben verantwortlich ist. Nach diesem Schritt überträgt er die gesammelten Daten an APISIX, das sie wiederum an die obere Ebene des Systems weiterleitet, um spezifische Geschäftsregeln auszuführen. Während dieses Nutzungsmuster relativ ungewöhnlich ist und typischerweise nicht in gängigen Geschäftsszenarien anzutreffen ist, kann es in der Risikokontrolle anwendbar sein.

APISIX_Datavisor_worker

Wie wird die Implementierung des privilegierten Prozesses gehandhabt? Das Modell von DataVisor folgt typischerweise einer Master-Worker-Struktur, wobei Worker-Prozesse für die Verwaltung des Geschäftsverkehrs verantwortlich sind und der Master-Prozess einen einzigartigen privilegierten Prozess erzeugt. In ihrer Entwicklung beschränken sie den privilegierten Prozess auf nur einen. Daher hat DataVisor eine eigene Strategie entwickelt: Innerhalb des privilegierten Prozesses erzeugen sie einen weiteren Prozess, um zusätzliche Aufgaben zu bewältigen, und stellen sicher, dass dies die anspruchsvollen Verantwortlichkeiten des privilegierten Prozesses nicht beeinträchtigt.

Für die Datenerfassung wird die Kommunikation zwischen dem privilegierten Prozess und den Worker-Prozessen über ein Shared-Dict ermöglicht. Die Leistung des Shared-Dict ist bemerkenswert robust und erfüllt die Anforderungen der meisten Szenarien.

Entwicklung von Plugins

APISIX_Datavisor_plugin

Als Ergebnis der Anpassungen von DataVisor an APISIX sind zahlreiche Funktionen im verpackten Produkt tief in das Projekt eingebettet, was dynamische Anpassungen erschwert. Daher hat DataVisor beschlossen, spezifische Plugins zu verpacken, in das APISIX-Projekt zu integrieren und dann Anpassungen über das Dashboard vorzunehmen.

Der Prozess der Plugin-Entwicklung mit APISIX ist äußerst benutzerfreundlich und ermöglicht die mühelose Erstellung von Hochleistungs-Plugins. Derzeit unterstützt APISIX Lua für die Plugin-Entwicklung und mehrere Programmiersprachen wie Java, Go und Python. Diese Vielseitigkeit befähigt Benutzer, eine Vielzahl von Funktionen zu implementieren.

Erfolge nach der Nutzung von APISIX

Die Bereitstellung von APISIX hat zu einer allgemeinen Verbesserung der Systemleistung von DataVisor geführt und außergewöhnliche Produktionsergebnisse erzielt.

  • Latenzreduzierung: Eine der herausragenden Eigenschaften von APISIX ist seine bemerkenswerte Fähigkeit, die Latenz erheblich zu reduzieren. Im Vergleich zu alternativen Lösungen hat DataVisor kürzere Verarbeitungszeiten für Benutzeranfragen beobachtet, ein kritischer Faktor für ein besseres Benutzererlebnis.

  • Durchsatzsteigerung: Die Einführung von APISIX hat zu einer signifikanten Steigerung des Durchsatzes geführt, was es dem System ermöglicht, gleichzeitige Anfragen effizienter zu verarbeiten. Im Gegensatz zur Nutzung anderer API-Gateway-Produkte hat DataVisor erfolgreich große Anfragemengen verarbeitet und die Stabilität und Zuverlässigkeit des Systems unter hoher Last durch APISIX sichergestellt. Dieses Ergebnis festigt eine zuverlässige Grundlage für die Bewältigung von Spitzen im Benutzerverkehr.

APISIX_Datavisor_effect

  • Mühelose, mehrsprachige Plugin-Beherrschung: Die Entwicklung von Plugins mit APISIX ist äußerst benutzerfreundlich und ermöglicht die reibungslose Erstellung von Hochleistungs-Plugins. Darüber hinaus unterstützt APISIX Lua für die Plugin-Entwicklung und verschiedene Programmiersprachen, einschließlich Java, Go und Python. Diese Vielseitigkeit bietet Benutzern die Möglichkeit, eine breite Palette von Funktionen zu implementieren, was die Entwicklungserfahrung von DataVisor verbessert und Benutzer befähigt, ihr bestehendes Fachwissen zu nutzen.

Zusammenfassung

Zusammenfassend ist die Anwendungserfahrung von DataVisor mit APISIX bemerkenswert. Durch die Nutzung von APISIX hat DataVisor seine Abläufe optimiert und die Systemstabilität sowie schnellere Verarbeitungszeiten für große Anfragemengen sichergestellt. Darüber hinaus bot APISIX DataVisor eine entwicklerfreundliche Umgebung für die mühelose Erstellung, Anpassung und Optimierung von Hochleistungs-Plugins. Diese Erfahrungen, die sowohl in der technischen Implementierung als auch in der Etablierung einer robusten Grundlage erfolgreich waren, tragen zur Widerstandsfähigkeit von DataVisor in der Risikokontrollbranche bei.

Tags: