APISIX verbessert die Entwicklungseffizienz bei Junrunrenli erheblich
Peng Yuan
December 12, 2022
Überblick
Herausforderungen
- Zu viele Geschäftssysteme, CLB (Configurable Logic Block)-Datenverkehrsweiterleitung und häufige Konfigurationsänderungen verbrauchen viel Entwicklungs- und Wartungszeit.
- Hochkonkurrenzfähiges Geschäft, instabile Datenbank beim Export großer Datenmengen, und das Problem kann nur durch Neustart des Dienstes oder Veröffentlichung einer neuen Version gelöst werden.
- Fehlende einheitliche Plattform zur Überwachung der zugänglichen Geschäftsdaten.
- Großer und komplexer Datenverkehr, fehlende effiziente Datenverkehrsmanagementstrategie.
- Es gibt täglich Millionen von API-Anfragen, eine beträchtliche Menge an Protokolldaten und begrenzte Festplattenkapazität.
Ergebnisse
- Apache APISIX bietet Junrunrenli verschiedene Methoden zur Beobachtbarkeit und Sicherheitsschutz und unterstützt effizient täglich Millionen von Besuchen.
- Deutliche Verbesserung der Liefereffizienz der F&E: Generische Domainnamen-Konfiguration wird in Sekunden wirksam, und die Steuerungsebene reduziert die Konfigurationslast der DevOps.
- Reduzierung der Lastenausgleicher von über 200 auf nur noch 10+, was viel Geld spart.
Über Junrunrenli Human Resources
Junrunrenli Human Resources ist ein technologiegetriebener Anbieter von Personalmanagementlösungen, der hauptsächlich One-Stop-Personaldienstleistungen für den Markt der Blue-Collar-Beschäftigung anbietet.
Seit der Gründung im Jahr 2019 hat Junrunrenli 1000+ Kunden bedient und 300W+ Blue-Collar-Arbeiter abgedeckt. In drei Jahren ist das F&E-Team von weniger als 20 Personen auf über 250 angewachsen und hat 15+ Personalmanagementplattformen selbst entwickelt. Darüber hinaus hat Junrunrenli ein integriertes Ökosystem für Personalmanagementdienstleistungen aufgebaut, einschließlich SaaS-Anwendungen für die B-Seite und C-Seiten-Anwendungen für die Endgruppe der Blue-Collar-Arbeiter.
Das Innovationstempo führt zu höheren Anforderungen an die Systemarchitektur. Neben hoher Verfügbarkeit, Konkurrenzfähigkeit und Leistung benötigt Junrunrenli elastische Skalierbarkeit.
Wie also wählt Junrunrenli ein API-Gateway aus?
Wie sticht APISIX hervor?
Das Junrunrenli-Team erstellte eine Shortlist und untersuchte anschließend viele API-Gateways. Mehrere davon wurden ausgeschlossen, da sie die Anforderungen von Junrunrenli nicht vollständig erfüllten. Wir können einen genauen Blick auf das folgende Bild der API-Gateway-Auswahl von Junrunrenli werfen.
Das obige Bild zeigt die Funktionen von Apache APISIX, während die in Rot hervorgehobenen Punkte diejenigen sind, die Junrunrenli am meisten betont, weil
-
Junrunrenli hat viele interne Geschäftssysteme und ein selbst aufgebautes internes Ökosystem. Daher wird ein robustes API-Gateway benötigt, um die schnellen Geschäftsänderungen von Junrun zu unterstützen, da Junrunrenli häufig Routen konfigurieren und ändern muss. APISIX ermöglicht es Junrunrenli, die verschiedenen Methoden zur Kontrolle des API-Zugriffs zu segmentieren.
-
Das Geschäft von Junrunrenli konzentriert sich darauf, dasselbe zur gleichen Zeit zu tun, z.B. die Auszahlung von Milliarden von Gehältern oder die Abhebung dieser Beträge. Hunderttausende von Blue-Collar-Nutzern stempeln gleichzeitig ein, unterschreiben Verträge und erhalten Aufgaben und Löhne. Daher ist der gleichzeitige Datenverkehr enorm, besonders während Chinas "Black Friday", der sich im Vergleich zum Normalzustand verdoppelt.
-
Verschiedene Systeme und individuelle Bedürfnisse führen zur Eigenentwicklung von Junrunrenli. "APISIX kann 99% unserer Bedürfnisse erfüllen, aber die restlichen 1% müssen wir selbst entwickeln", sagte Yuan, technischer Experte von Junrunrenli. Jeder weiß, dass Kong und APISIX auf OpenResty NGINX + Lua basieren. Es würde zusätzliche Kosten verursachen, wenn Junrunrenli Plugins mit Lua entwickelt. Glücklicherweise unterstützt APISIXs externes Plugin die Java-Programmiersprache, um Lernkosten zu sparen. Darüber hinaus ist die APISIX-Community besonders aktiv.
Junrunrenli stärkt seine Systeme mit APISIX
Unten ist die Gesamtübersicht des Architekturdiagramms von Junrunrenli.
Junrunrenli hat nach der Verwendung von APISIX die folgenden vier Erfolge erzielt.
1. Innovative Routenstrategien für effizientes Routenmanagement
Basierend auf Radixtree und etcd ist Apache APISIX in der Lage, schnelles Routing-Matching und schnelle Synchronisierung der Konfiguration zu ermöglichen. All dies ist darauf ausgelegt, schnelle Leistung und ultra-niedrige Latenzzeiten zu erreichen.
Während der Spitzenzeit der Systeme konnte die MySQL-Datenbank nicht reagieren, wenn Millionen von Berichtsdaten exportiert wurden, was zu einem nicht verfügbaren Dienst führte, der erst nach einem Neustart wieder normal funktionieren konnte. Darüber hinaus wird der Fall verschärft, wenn der Export fortgesetzt wird, und kann nur durch neue Veröffentlichungen gelöst werden.
APISIX ermöglicht die intelligente Verwaltung von Routen, indem es Junrunrenli mit Routenprioritätskonfiguration und API-Notabschaltung mit Serverless-Plugin innerhalb weniger Minuten Konfiguration unterstützt.
Darüber hinaus müssen die Geschäftssysteme von Junrunrenli, insbesondere SaaS-Systeme, den kundenspezifischen Domainnamen-Zugriff unterstützen. Folglich hat das Junrunrenli-Team den Einstieg vereinheitlicht, indem es mehrere Domainnamen für denselben Dienst konfiguriert hat. Die Konfigurationen können in den gesamten Systemen genutzt werden, indem sie nur einmal konfiguriert werden.
2. Abgetrennte PaaS-Plattform für die gesamte Sicherheitskontrolle
Junrunrenli nutzt die Eigenschaften von APISIX, wie Canary-Release, Sicherheitskontrolle und Identitätserkennung, um das PaaS-Gateway für die Sicherheitskontrolle des übergeordneten Geschäftssystems einzurichten.
Das folgende Bild zeigt, dass Junrunrenli eine zweischichtige Gateway-Architektur basierend auf APISIX erstellt und logisch ein Gateway darauf isoliert hat - die PaaS-Plattform.
Der Benutzer greift auf CLB zu, dann leitet APISIX die Anfrage an das Geschäftssystem weiter. Wenn die vom Benutzer verwendete Funktion die PaaS-Fähigkeit nutzen muss, wird sie über das PaaS-Dienstgateway zugänglich gemacht. Die PaaS-Plattform ist ein geschlossener Bereich innerhalb von k8s, der viele wesentliche Dienste enthält.
3. APISIXs Traffic-Split-Plugin ermöglichte Junrunrenli das automatische Datenverkehrsmanagement
APISIXs Traffic-Split-Plugin verleiht Junrunrenli die Fähigkeit, den Datenverkehr seiner Kerndienste wie SSO (Single Sign On), PaaS-Dienst und Gehaltsdienst zu verwalten.
Es gibt zwei Szenarien:
- Tag-Filterung: Der Testbenutzerdatenverkehr kann basierend auf Tags wie Header und anderen Parametern an die Pre-Production-Dienste weitergeleitet werden. Dann können die Testingenieure zuerst in der Pre-Production-Umgebung und später in der Produktionsumgebung testen.
Nach bestandener Überprüfung können die Ingenieure den Datenverkehr basierend auf dem Gewicht einleiten und dann nach einer Beobachtungsphase den gesamten Datenverkehr auf die neue Version umstellen.
- Multi-Version-Koexistenz: Es gibt viele Versionen eines Dienstes. Auf diese Weise können verschiedene Geschäftssysteme verschiedene Versionen besuchen. Der Datenverkehr kann durch die Nutzung von Tags an die richtigen Dienste weitergeleitet werden.
4. APISIXs Kafka-Plugin ermöglichte Junrunrenli die transparente Protokolldatenüberwachung
Wie aus diesem Bild ersichtlich ist, sind APISIX und die Pod-Dienste beide auf k8s bereitgestellt, und alle Backend-Routen sind an denselben Dienst gebunden. APISIXs Kafka-Plugin scheint maßgeschneidert für die Sammlung von Protokolldaten zu sein.
Die Beobachtungsdaten zeigen, dass es täglich Millionen von API-Anfragen gibt, die 30 GB Protokolldaten täglich generieren, und die Gesamtmenge der Protokolle über 1 TB erreicht.
Der Skywalking und Sky Agent wurden ebenfalls im Dienststartskript auf dem Pod konfiguriert. In Kombination mit dem Kafka-Plugin kann der gesamte Aufruflink auf dem Skywalking und der Protokollwolke beobachtet werden gemäß der requestId
und traceId
, und die Protokolleinträge und die Verbrauchszeit der API-Anfragen jedes Links wurden transparent für die Protokolldatenüberwachung.
Vorteile nach der Verwendung von APISIX durch Junrunrenli
1. Unterstützung der Geschäftsentwicklung
Nach der Verwendung von APISIX sind die Funktionen des Systems von Junrunrenli reichhaltiger und die Leistung leistungsfähiger. Es bietet eine Vielzahl von Beobachtbarkeits- und Sicherheitsschutzmethoden für API-Dienste und unterstützt effizient täglich Millionen von Zugriffsdatenverkehr.
2. Verbesserte F&E-Liefereffizienz
Vor der Verwendung von APISIX dauerte es 10 Minuten, um jede DNS-Auflösung zu konfigurieren, aber jetzt dauert es nur Sekunden, um Pan-Domainnamen zu konfigurieren. Es gibt mehr als 10 Systeme und über 100 Dienste mit vielen Konfigurationen. Die Entwickler müssen die Konfiguration sowohl in CLB als auch in NGINX ändern. APISIX bietet eine zentrale Datenebene für Konfigurationsänderungen, was die Arbeitslast der DevOps erheblich reduziert.
3. Kosten gespart
Hohe Kosten für Lastenausgleicher gespart und 200+ Dienste auf nur 10+ reduziert.
Zukunftsplan von Junrunrenli
-
Junrunrenli wird den java-plugin-runner anpassen und Sentinel integrieren, um den Dienst der steckbaren dynamischen Ratenbegrenzung zu ermöglichen und auch die tägliche und monatliche Datenverkehrskontrolle zu unterstützen.
-
Das Junrunrenli-Team erwägt auch, die API-Anfrageprotokolldaten zu speichern und dann eine Risikokontrollidentifikation basierend auf der Regelengine durchzuführen, Alarminformationen zu pushen und schnell in den Betrieb und die Wartung einzugreifen.
-
Junrunrenli wird eine geschichtete Governance durchführen. Derzeit gibt es nur einen Einstieg, und später werden mehrere APISIX-Cluster bereitgestellt. Zum Beispiel kann die offene Plattform die internen Dienste von Junrunrenlis k8s über einen separaten Eingang zugänglich machen.
-
Darüber hinaus wird Junrunrenli die Protokoll- und Sky-Plugins mit der vollständigen Protokollanalyse kombinieren.
Suchen Sie APISIX-Unterstützung?
Apache APISIX ist ein Open-Source-, dynamisches, skalierbares und leistungsstarkes Cloud-natives API-Gateway für alle Ihre APIs und Microservices. Als Spendenprojekt der Apache Software Foundation durch API7.ai ist APISIX zu einem Top-Level-Open-Source-Apache-Projekt herangewachsen.
Möchten Sie Ihre Entwicklung mit Zuversicht beschleunigen wie Junrunrenli Human Resources? Um die APISIX-Unterstützung zu maximieren, benötigen Sie API7. Wir bieten umfassende Unterstützung für APISIX und API-Management-Lösungen basierend auf Ihren Bedürfnissen!
Kontaktieren Sie uns jederzeit: https://api7.ai/contact.