Apache APISIX ermöglicht WPS Office, Millionen von QPS mühelos zu bewältigen

Yilia Lin

Yilia Lin

September 28, 2021

Case Study

Vorschau

Über Kingsoft und WPS Office

Kingsoft Office ist eine Tochtergesellschaft von Kingsoft, einem führenden Software- und Internetdienstleistungsunternehmen mit Sitz in China, das an der Hongkonger Börse notiert ist. Das Flaggschiffprodukt — WPS Office — ist ein All-in-One-Bürosoftwarepaket, das Writer, Spreadsheet, Präsentation und PDF zur Verwaltung von Büroaufgaben umfasst. Bis 2022 erreichte WPS Office mehr als 494 Millionen monatlich aktive Nutzer und über 1,2 Milliarden Installationen.

Ursprünglich setzte Kingsoft NGINX als API-Gateway ein, um betriebliche Herausforderungen zu bewältigen. Die ursprüngliche Version verfügte nur über grundlegende Funktionen wie dynamisches Upstream, Blacklist-Funktionalität und eine Web Application Firewall (WAF). Als die Anforderungen jedoch wuchsen, begann Kingsoft Office, nach alternativen API-Gateway-Lösungen zu suchen, die besser auf ihre sich entwickelnden Bedürfnisse zugeschnitten waren.

Herausforderungen

  • Das vorherige System hatte Einschränkungen bei der Erfüllung grundlegender betrieblicher und wartungstechnischer Anforderungen und konnte nicht dynamisch skaliert werden.
  • Das System verarbeitet eine erhebliche Menge an Datenverkehr und benötigt ein robustes API-Gateway für optimale Leistung.
  • Es fehlte die Fähigkeit, Änderungen dynamisch zu laden, sodass ein Neuladen erforderlich war, damit Änderungen wirksam wurden.

Ergebnisse

  • Implementierung einer Lösung, die hochperformante und latenzarme dynamische Updates ermöglicht, was nahtlose Anpassungen und Erweiterungen ermöglicht.
  • Deutliche Steigerung der Systemkapazität, um mühelos Millionen von Abfragen pro Sekunde (QPS) zu bewältigen und so die Geschäftsstabilität zu gewährleisten.
  • Erfolgreiche Einführung von Hochverfügbarkeitsmaßnahmen und Verbesserung der Systemsicherheit, um kritische Operationen zu schützen.

Hintergrund

In den Anfangsphasen setzte Kingsoft Office ein API-Gateway ein, um betriebliche Probleme zu lösen, und entwickelte eine eigene Lösung basierend auf OpenResty und Lua. Diese Lösung ermöglichte Funktionen wie dynamisches Upstream-Management, Blacklist-Funktionalität und eine Web Application Firewall (WAF). In der 1.0-Phase gab es jedoch einige Nachteile.

Zum Beispiel:

  • Nur das Upstream war dynamisch.
  • Ein Neuladen war erforderlich, um neue Domainnamen zu aktualisieren und zu reflektieren, was das Team täglich mit der Änderung neuer Domains und Routen belastete.
  • Die zugrunde liegende Architektur war für effizientes Management und Betrieb ausgelegt, war jedoch einfach und bot begrenzte Funktionen und Skalierbarkeit.

Gleichzeitig, als ihr Geschäft wuchs, sah sich Kingsoft mit einer zunehmenden Anzahl von Anforderungen an die Funktionalität des API-Gateways konfrontiert. Daher begannen sie, nach einer neuen API-Gateway-Lösung zu suchen.

Warum sich Kingsoft Office für APISIX entschied

Ende 2019, als Kingsoft Office begann, API-Gateway-Produkte zu recherchieren, gab es viele beliebte Optionen. Tests zeigten jedoch, dass die Leistung der untersuchten API-Gateways ihre Anforderungen nicht erfüllte.

Auf der Suche nach einer robusten Lösung vertiefte Kingsoft Office ihre Recherchen und entdeckte schließlich Apache APISIX.

Einige andere API-Gateways verwendeten PostgreSQL als Konfigurationszentrum, was bedeutete, dass Routenaktualisierungen nur durch nicht-ereignisgesteuerte Methoden erreicht werden konnten, was ein Neuladen der Routen auf jedem Knoten erforderte.

Kingsoft Office entschied sich für APISIX basierend auf drei Schlüsselkriterien: Leistung, technische Architektur und die Community.

APISIX Technische Architektur

1. Ultrahohe Leistung

Apache APISIX bietet die beste Leistung unter den API-Gateways mit einem Single-Core-QPS von 18.000 und einer durchschnittlichen Latenz von 0,2 ms. Umfangreiche Tests und Benchmarks innerhalb von Kingsoft Office bestätigten kontinuierlich die überlegene Leistung von APISIX, was sicherstellte, dass Kingsoft Office hohe Lasten bewältigen und optimale Benutzererfahrungen bieten konnte.

2. Skalierbare, resiliente und hochverfügbare Architektur

APISIX verwendet etcd als Konfigurationszentrum, was eine effiziente und dynamische Verwaltung von Routen, Plugins und anderen kritischen Komponenten ermöglicht. Dieser verteilte Schlüssel-Wert-Speicher erhöhte die Flexibilität von APISIX, ermöglichte nahtlose Updates und reduzierte den betrieblichen Aufwand, der mit manuellen Konfigurationsänderungen verbunden war. Mit Apache APISIX konnte Kingsoft Office den ereignisgesteuerten Ansatz nutzen, wodurch das manuelle Neuladen von Routen auf einzelnen Knoten entfiel.

3. Aktive und unterstützende Community

Kingsoft Office erkannte den Wert einer lebendigen und unterstützenden Community für Innovation und Ressourcen. APISIX verfügte über eine aktive und engagierte Community, die zur Entwicklung beitrug, Best Practices teilte und Unterstützung bot. Diese communitygetriebene Umgebung förderte Innovation und Zusammenarbeit, was perfekt mit dem Engagement von Kingsoft Office übereinstimmte, an der Spitze der technologischen Fortschritte zu bleiben.

Optimierte etcd-Architektur bei Kingsoft Office

Aufgrund zahlreicher NGINX-Standardkonfigurationen in der ursprünglichen Architektur bei Kingsoft Office entschied sich das Team, nicht die CLI von APISIX zur automatischen Generierung von Konfigurationen zu verwenden. Stattdessen setzten sie Apache APISIX als Fallback ein und migrierten schrittweise Konfigurationen zu APISIX, um einen reibungslosen Übergang zu gewährleisten.

Während der Implementierung nahm das Kingsoft Office-Team einige Anpassungen an APISIX vor, wie z.B. die Optimierung der etcd-Architektur. Allgemein gesprochen sind in Unternehmen oft Hunderte von Maschinen in die API-Gateway-Architektur eingebunden. Darüber hinaus belastet die Anzahl der Worker die Maschinenlasten.

Folglich übt die Überwachung desselben Schlüssels durch mehrere Maschinen erheblichen Druck auf etcd aus. Unter solchen Umständen erfordert etcd für die Datenkonsistenz, dass alle Ereignisse an die lauschenden Anfragen zurückgegeben werden, bevor neue Anfragen verarbeitet werden. Wenn mehrere Maschinen gleichzeitig lauschen, treten Probleme wie Timeouts und Überlastungsfehler bei etcd auf.

Um dieses Problem zu lösen, entwickelte Kingsoft Office einen etcd-Proxy, wie im rechten Teil der Architekturdiagramme unten dargestellt. Dieser Proxy arbeitet zwischen Apache APISIX und etcd, überwacht Schlüssel und gibt die Ergebnisse an APISIX zurück, nachdem er sie erhalten hat. Seit der Veröffentlichung von APISIX Version 3.2 wird die Anzahl der Verbindungen nicht mehr durch Ressourcen beeinflusst, was den Druck auf etcd erheblich reduziert.

Optimierte etcd-Architektur bei Kingsoft Office

Darüber hinaus steigt mit der Skalierung des Unternehmens auch die Anzahl der Routen. Wenn Routen häufig aktualisiert werden, steigt die CPU-Auslastung und es kommt zu Paketverlusten. Das Kingsoft Office-Team behebt das Problem der Ineffizienz bei der Verwendung von table.sort in Lua-Code-Umgebungen. Apache APISIX hat dieses Problem ebenfalls in seinen aktualisierten Versionen behoben.

Vorteile nach der Einführung von APISIX

1. Unterstützung von Millionen von QPS mit Leichtigkeit

Auf Geschäftsebene betreibt Kingsoft Office ein komplexes Ökosystem, das Tausende von Diensten umfasst, die sorgfältig containerisiert und auf einer internen Cloud-nativen Plattform bereitgestellt sind. In dieser dynamischen Umgebung spielt Apache APISIX eine zentrale Rolle als zentrales Gateway, das die nahtlose Kommunikation und Interaktion zwischen verschiedenen Diensten und Benutzern ermöglicht. Speziell auf die Anforderungen der Middle Platform Department zugeschnitten, verwaltet APISIX effizient den enormen Zustrom von Anfragen und bewältigt mühelos Millionen von Abfragen pro Sekunde mit bemerkenswerter Präzision und Zuverlässigkeit.

2. Skalierbares und flexibles API-Management erreicht

Durch die Einführung von APISIX überwand Kingsoft Office die Grenzen seiner bisherigen API-Management-Lösungen und erreichte Skalierbarkeit und Flexibilität, die die Grundlage für zukünftiges Wachstum und Innovation legten.

Durch die Migration zu APISIX gewann Kingsoft Office die Fähigkeit, seine API-Infrastruktur mühelos zu skalieren, um den Anforderungen einer schnell wachsenden Benutzerbasis und einer sich entwickelnden Geschäftslandschaft gerecht zu werden. Die modulare Architektur von APISIX ermöglichte die nahtlose Integration mit bestehenden Systemen und Diensten, wodurch das Unternehmen seine API-Management-Fähigkeiten erweitern konnte, ohne laufende Operationen zu stören.

Darüber hinaus ermöglichte APISIX Kingsoft Office eine beispiellose Flexibilität bei der Verwaltung von APIs, indem es granularere Kontrolle über Routing, Datenverkehr und Authentifizierung bot. Diese neue Flexibilität ermöglichte es dem Unternehmen, seine API-Management-Strategien auf spezifische Anwendungsfälle zuzuschneiden, die Leistung zu optimieren und die Benutzererfahrung zu verbessern.

3. Verbesserte Systemhochverfügbarkeit und Sicherheit

Darüber hinaus hat Kingsoft Office mehrere Funktionen implementiert, um die Hochverfügbarkeit und Sicherheit des Systems zu verbessern, darunter die proportionale Verteilung des Datenverkehrs über mehrere Rechenzentren und eine Ein-Klick-Routen-Sperrfunktion.

Durch die Konfiguration von Proportionen wird die Verteilung des Datenverkehrs oder der Anfragen über verschiedene Rechenzentren basierend auf vordefinierten Verhältnissen optimiert. Dies gewährleistet eine effiziente Nutzung der Systemressourcen und mildert die Auswirkungen von Ausfällen in einem einzelnen Rechenzentrum, was zu Lastausgleich, verbesserter Systemverfügbarkeit und erhöhter Fehlertoleranz führt.

Im Falle von Problemen mit einer bestimmten Route oder der Notwendigkeit einer temporären Sperrung können Administratoren schnell die Ein-Klick-Routen-Sperrfunktion verwenden, um die Datenübertragung oder den Zugriff für diese spezielle Route sofort zu stoppen. Dies schützt das System vor bösartigen Aktivitäten und bietet gleichzeitig einen nahtlosen und bequemen Ansatz zur Verwaltung von Netzwerkverkehr und Routen.

Fazit

In der praktischen Anwendung entdeckte das Kingsoft Office-Team die außergewöhnliche Flexibilität und Leistungsfähigkeit von Apache APISIX. Die Stabilität und Zuverlässigkeit von APISIX haben das Vertrauen von Kingsoft Office gewonnen, während seine Fähigkeit, Plugin-Modifikationen und benutzerdefinierte Kompilierungen zu ermöglichen, reichlich Raum für maßgeschneiderte Anpassungen bietet.

Das Team verfolgt sorgfältig die Produktänderungen von APISIX, um sicherzustellen, dass ihre Version mit den neuesten Updates synchron bleibt. Mit APISIX bewältigt Kingsoft Office mühelos Millionen von Abfragen pro Sekunde, was die Robustheit der Lösung und ihre Fähigkeit unterstreicht, den Anforderungen einer schnell wachsenden Benutzerbasis gerecht zu werden. Durch die Einführung von Apache APISIX adressiert Kingsoft Office effektiv seine sich entwickelnden Anforderungen, steigert die betriebliche Effizienz und positioniert sich für zukünftiges Wachstum in der dynamischen Landschaft der Netzwerkprodukte.

Tags: