Wie Sie die benötigten Ressourcen für Ihr API Gateway bestimmen

January 25, 2024

Technology

Hintergrund

Der API-Gateway dient als einheitlicher Einstiegspunkt für die externen Dienste eines Unternehmens, was seine unbestreitbare Bedeutung unterstreicht. Jede Unterbrechung der Verfügbarkeit des API-Gateways selbst wirkt sich direkt auf alle vom Unternehmen bereitgestellten Dienste aus – eine Katastrophe, die nicht akzeptabel ist. Daher ist es entscheidend, den geeigneten Bereitstellungsmaßstab für den API-Gateway in Produktionsszenarien zu bestimmen.

Die Bestimmung der benötigten Ressourcen ist unerlässlich, um die Leistung, Verfügbarkeit und Stabilität des API-Gateways sicherzustellen, die Ressourcennutzung zu optimieren und die Kosteneffizienz zu verbessern. Unzureichende Ressourcen können zu Problemen wie Anfragezeitüberschreitungen, Überlastung und Paketverlust führen, was die Benutzererfahrung und die Dienstqualität beeinträchtigt. Umgekehrt können übermäßige Ressourcen zu Ressourcenverschwendung, erhöhter Betriebskomplexität, höheren Kosten und Risiken führen.

API-Gateway-Diagramm

Daher ist die Bestimmung der benötigten Ressourcen für den API-Gateway ein entscheidender Schritt, der eine sorgfältige Planung und Anpassungen basierend auf Geschäftsanforderungen, Verkehrsprognosen und Leistungstests erfordert. Dieser Artikel, der auf Best Practices verschiedener Branchen basiert, skizziert einen dreistufigen Prozess als Referenz:

  • Gateway-Auswahl: Single-Core QPS
  • Geschäftstypen: Finanz- oder Nicht-Finanzdienstleistungen
  • Anforderungen an hohe Verfügbarkeit

Gateway-Auswahl

Der Engpass für die grundlegenden Komponenten des API-Gateways liegt normalerweise in der CPU, nicht im Netzwerk, auf der Festplatte oder im Speicher. Die Single-Core-CPU-Verarbeitung eines API-Gateways ist ein deutlicher Indikator dafür, ob es hervorragend ist oder nicht. Wenn der Ressourcenverbrauch für denselben API-Anfrageverkehr niedriger ist, bedeutet dies, dass weniger Maschinen benötigt werden, was das Betriebsmanagement vereinfacht und die Dienstverfügbarkeit erhöht.

Apache APISIX, ein Open-Source-API-Gateway, schätzt konservativ, dass eine Single-Core-CPU mindestens 10.000 QPS unterstützen kann, wenn gängige Unternehmens-Plugins für Überwachung, Ratenbegrenzung usw. aktiviert sind. Unternehmen können spezifische Tests durchführen, um Ergebnisse zu sammeln, die Unterschiede in aktivierten Plugins, Hardwareumgebung, Netzwerkbedingungen und API-Anfragecharakteristiken berücksichtigen.

APISIX QPS 15000~18000

Geschäftstypen

Die meisten Nicht-Finanzunternehmen können die CPU-Ressourcennutzung im API-Gateway in einem Bereich von 20-30 % in einer Produktionsumgebung kontrollieren, was ein ideales Szenario ist. Selbst bei einer 3-5-fachen Steigerung der Dienstaufrufe können sie dies effektiv bewältigen. Branchen wie Nachrichten, Unterhaltung und das Internet können diese Last nutzen.

Für Branchen wie Banken, Finanzen und Wertpapiere, bei denen der Wert der API hoch ist, ist es jedoch ideal, die tägliche CPU-Last bei 5-10 % zu halten. Dies ermöglicht es dem API-Gateway, plötzliche Verkehrsspitzen zu bewältigen, die 10-20 Mal höher sind als üblich.

Anforderungen an hohe Verfügbarkeit

Für höhere Anforderungen an die Verfügbarkeit sollten API-Gateway-Proxy-Instanzen mindestens 2 Knoten haben.

Praktische Beispiele

Benutzer aus dem Finanzdienstleistungssektor

Unternehmensbeispiel:

  • QPS für die täglichen API-Aufrufe beträgt 100.000
  • Tägliche Last des API-Gateways beträgt 10 %
  • Gateway-Auswahl: Apache APISIX (Single-Core QPS: 10.000)

Basierend auf den oben genannten Informationen beträgt die benötigte Anzahl von CPUs 100.000 / 10.000 / 10 % = 100. Wenn Maschinen mit 4 CPU-Kernen verwendet werden, werden 25 Maschinen benötigt; bei 8 CPU-Kernen werden 13 Maschinen benötigt.

Benutzer aus dem Nicht-Finanzdienstleistungssektor

Unternehmensbeispiel:

  • QPS für die täglichen API-Aufrufe beträgt 100.000
  • Tägliche Last des API-Gateways beträgt 25 %
  • Gateway-Auswahl: Apache APISIX (Single-Core QPS: 10.000)

Basierend auf den oben genannten Informationen beträgt die benötigte Anzahl von CPUs 100.000 / 10.000 / 25 % = 40. Wenn Maschinen mit 4 CPU-Kernen verwendet werden, werden 10 Maschinen benötigt; bei 8 CPU-Kernen werden 5 Maschinen benötigt.

Fazit

In der praktischen Nutzung ist der Verkehr komplex und variabel, was flexible Anpassungen an Durchschnittswerte erfordert. Durch die Übernahme hervorragender API-Gateways wie APISIX und die sinnvolle Konfiguration von Hardware-Ressourcen können Unternehmen Kosten und Dienstleistungsanforderungen besser ausbalancieren und sicherstellen, dass Unternehmens-APIs sicher, stabil und effizient für Endbenutzer bereitgestellt werden.

Tags: