Erkunden von API-Gateways
Ihre Lösung kann mehrere Front- und Back-End-Dienste enthalten. Wie weiß ein Client in diesem Szenario, welche Endpunkte aufgerufen werden müssen? Was geschieht, wenn neue Dienste eingeführt werden oder vorhandene Dienste umgestaltet werden? Wie behandeln Dienste SSL-Beendigung, Authentifizierung und andere Bedenken?
Das API-Verwaltungsgateway (auch als Datenebene oder Laufzeitebene bezeichnet) ist die Dienstkomponente, die für das Proxieren von API-Anfragen, das Anwenden von Richtlinien und das Sammeln von Telemetriedaten zuständig ist.
Ein API-Gateway befindet sich zwischen Clients und Diensten. Sie fungiert als Reverse-Proxy und leitet Anforderungen von Clients an Dienste weiter. Es kann auch verschiedene querschnittsübergreifende Aufgaben wie Authentifizierung, SSL-Beendigung und Ratelimitierung durchführen. Wenn Sie kein Gateway bereitstellen, müssen Clients Anforderungen direkt an Back-End-Dienste senden. Es gibt jedoch einige potenzielle Probleme bei der direkten Bereitstellung von Diensten für Kunden:
- Dies kann zu komplexem Clientcode führen. Der Client muss mehrere Endpunkte nachverfolgen und Fehler auf robuste Weise behandeln.
- Es erstellt eine Kopplung zwischen dem Client und dem Back-End. Der Client muss wissen, wie die einzelnen Dienste dekompiliert werden. Dies erschwert es, den Kunden zu pflegen und auch schwieriger, Dienste umzugestalten.
- Ein einzelner Vorgang erfordert möglicherweise Aufrufe an mehrere Dienste.
- Jeder öffentlich zugängliche Dienst muss Bedenken wie Authentifizierung, SSL und Clientratenbegrenzung behandeln.
- Dienste müssen ein clientfreundliches Protokoll wie HTTP oder WebSocket verfügbar machen. Dies beschränkt die Auswahl von Kommunikationsprotokollen.
- Dienste mit öffentlichen Endpunkten sind eine potenzielle Angriffsfläche und müssen gehärtet werden.
Ein Gateway hilft bei der Behebung dieser Probleme, indem Clients von Diensten entkoppelt werden.
Verwaltet und selbst gehostet
Die API-Verwaltung bietet sowohl verwaltete als auch selbst gehostete Gateways:
Verwaltet – Das verwaltete Gateway ist die Standardgatewaykomponente, die in Azure für jede API-Verwaltungsinstanz auf jeder Dienstebene bereitgestellt wird. Mit dem verwalteten Gateway fließt der gesamte API-Datenverkehr über Azure, unabhängig davon, wo Back-Ends zur Implementierung der APIs gehostet werden.
Selbst gehostet – Das selbst gehostete Gateway ist eine optionale containerisierte Version des standardverwalteten Gateways. Es ist nützlich für Hybrid- und Multicloud-Szenarien, in denen die Gateways von Azure in denselben Umgebungen ausgeführt werden müssen, in denen API-Back-Ends gehostet werden. Das selbst gehostete Gateway ermöglicht Es Kunden mit hybrider IT-Infrastruktur, APIs zu verwalten, die lokal und über Clouds von einem einzelnen API-Verwaltungsdienst in Azure gehostet werden.