API7-Lösung: Hochverfügbarkeit für B2B-Dienste
January 3, 2024
Im Rahmen der Kundenkommunikation stellt sich häufig eine Schlüsselfrage: „Bieten Sie Hochverfügbarkeit? Und wenn ja, wie?“
API7 Enterprise stellt Bausteine für kundenseitig verwaltete Hochverfügbarkeitsbereitstellungen bereit. Die Verfügbarkeit hängt von der Bereitstellungsarchitektur, den Infrastrukturabhängigkeiten und dem Betrieb des Kunden ab; für die selbst gehostete API7 Enterprise gilt keine prozentuale Verfügbarkeitszusage auf Produktebene.
In der Geschäftswelt ist die Hochverfügbarkeit von API-Diensten besonders kritisch, da sie direkt die Kontinuität und Zuverlässigkeit der Kunden beeinflusst. Warum ist Hochverfügbarkeit für B2B-Geschäfte so wichtig? Weil, als eine Schlüsselmetrik, jede Unterbrechung oder jeder Ausfall von API-Diensten in kritischen Momenten das Geschäft der Kunden erheblich beeinträchtigen kann, was nicht nur zu finanziellen Verlusten führt, sondern auch den Ruf und die Glaubwürdigkeit der Kunden beschädigen kann.
Wie unterstützt API7 hochverfügbare Bereitstellungen?
Hochverfügbarkeit ist ein Architektur- und Betriebsziel und keine Eigenschaft, die ein Produkt allein gewährleisten kann. Die folgenden Abschnitte beschreiben die Bausteine, die API7 Enterprise Kunden für den Aufbau hochverfügbarer Bereitstellungen bereitstellt. Das tatsächliche Ergebnis hängt von Instanzanzahl, Failover-Design, Infrastrukturabhängigkeiten und Kundenbetrieb ab.
Zustandslose Steuerungsebene
Die Steuerungsebene von API7 Enterprise verwendet für die Verwaltung von API-Konfigurationen ein zustandsloses Design. Dadurch können Kunden oder eine Orchestrierungsplattform mehrere Instanzen betreiben und fehlerhafte Instanzen ersetzen, ohne Anwendungszustand zwischen ihnen übertragen zu müssen. Dies kann die Auswirkungen des Ausfalls einer einzelnen Instanz reduzieren, sofern der Kunde Redundanz, Zustandsprüfungen, Verkehrsverteilung und geeignete Ersatzkapazität konfiguriert.
PostgreSQL als Standard-Konfigurationszentrum
API7 Enterprise verwendet PostgreSQL zur Speicherung von Konfigurationsdaten. PostgreSQL kann mit vom Kunden ausgewählten Replikations- und Failover-Verfahren bereitgestellt werden, sodass eine Standby-Instanz bei Ausfall der primären Instanz übernehmen kann. Konfiguration, Überwachung und Failover-Tests der Datenbank liegen beim Kunden oder Infrastrukturbetreiber; die Verfügbarkeit der Konfigurationsdaten hängt daher von der eingesetzten PostgreSQL-, Speicher-, Netzwerk- und Betriebsarchitektur ab.

Zustandslose Datenebene
Die Datenebene basiert auf APISIX, und die Gateway-Instanzen sind für die Verkehrsverarbeitung zustandslos. Dadurch können mehrere Instanzen hinter einem Load Balancer oder einer Orchestrierungsplattform betrieben, skaliert und ersetzt werden. Das Design kann die Auswirkungen des Verlusts einer einzelnen Instanz verringern, gewährleistet jedoch keine Dienstkontinuität, wenn Kapazität, Netzwerk, abhängige Dienste oder Verkehrsverteilung ausfallen.
Unabhängige Datenebene und Steuerungsebene
API7 Enterprise trennt die Verkehrsverarbeitung in der Datenebene von der Konfigurationsverwaltung in der Steuerungsebene. Die Datenebene verwendet synchronisierte Konfigurationen und muss die Steuerungsebene nicht für jede Anfrage abfragen. Wenn die Steuerungsebene in bestimmten Szenarien nicht erreichbar ist, kann eine Datenebeneninstanz Anfragen mit der zuletzt bekannten Konfiguration verarbeiten; neue Aktualisierungen erhält sie erst nach Wiederherstellung der Verbindung. Das Ergebnis hängt weiterhin von der Funktionsfähigkeit der Gateway-Instanzen, ihrer Abhängigkeiten und der Kundenarchitektur ab.
Anwendungsfälle und Vorteile der Hochverfügbarkeitsarchitektur
Bei Bereitstellungen mit Docker oder auf einer virtuellen Maschine können Kunden mehrere API7-Gateway-Instanzen hinter einem Load Balancer mit Zustandsprüfungen betreiben und fehlerhafte Instanzen mit den von ihnen gewählten Betriebswerkzeugen entfernen und ersetzen. In Kubernetes können Replikate, Readiness- und Liveness-Prüfungen sowie Controller fehlerhafte Pods ersetzen. Diese Mechanismen sind nur wirksam, wenn der Kunde Replikatzahl, Kapazität, Scheduling, Speicher, Netzwerk und Failover-Tests entsprechend konfiguriert.
Wenn diese Mechanismen angemessen entworfen, betrieben und getestet werden, können sie die Auswirkungen bestimmter Fehler verringern, die Wiederherstellung beschleunigen und die weitere Verarbeitung eines Teils des Verkehrs unterstützen. Sie verhindern jedoch nicht alle Geschäftsunterbrechungen und gewährleisten keine geringeren Wartungskosten. Die Ergebnisse hängen von Wiederherstellungszielen, Redundanz, externen Abhängigkeiten, Überwachung und Kundenprozessen ab.
Fazit
API7 Enterprise stellt Hochverfügbarkeitsmechanismen für kundenseitig verwaltete Bereitstellungen bereit. Diese Mechanismen können die Auswirkungen von Ausfällen verringern; die tatsächlich erreichte Serviceverfügbarkeit hängt jedoch von der Bereitstellungsarchitektur, den Infrastrukturabhängigkeiten und dem Betrieb des Kunden ab.


