Extensible Service Proxy und Cloud Endpoints Frameworks im Vergleich

Auf dieser Seite werden die Unterschiede zwischen Endpoints Frameworks für die App Engine-Standardumgebung und dem Extensible Service Proxy (ESP) erläutert, der in Cloud Endpoints für APIs mit OpenAPI oder gRPC verwendet wird. Weitere Informationen zu den Endpoints-Optionen finden Sie unter Endpunktoption auswählen.

Überblick

Cloud Endpoints ist ein API-Verwaltungssystem, mit dem Sie mit der gleichen Infrastruktur, die Google für seine eigenen APIs nutzt, Ihre APIs schützen, überwachen und analysieren sowie dafür Kontingente festlegen können. Die API-Verwaltungsfunktionen umfassen Authentifizierung, API-Schlüssel, Monitoring, Logging und Tracing. Dies erfolgt unabhängig von der Technologie, mit der die API implementiert wurde. API-Verwaltungsfunktionen werden über den ESP oder Endpoints Frameworks bereitgestellt.

Extensible Service Proxy

In Endpoints für OpenAPI und gRPC werden API-Anfragen über den Extensible Service Proxy weitergeleitet, der Schlüssel und Authentifizierungstokens überprüft und mithilfe der Service Control API Signale (Messwerte und Logs) sendet. Durch die vom ESP bereitgestellte Trennung können Sie den REST- oder gRPC-Back-End-Code in einer beliebigen Sprache schreiben. Außerdem können Sie gRPC oder ein beliebiges Framework verwenden, das die API-Beschreibung mit OpenAPI unterstützt.

  • APIs, die OpenAPI verwenden: Das API-Back-End kann in der flexiblen App Engine-Umgebung, in Google Kubernetes Engine, Compute Engine, Kubernetes oder lokalen Bereitstellungen ausgeführt werden.

  • APIs, die gRPC verwenden: Das API-Back-End kann in GKE, Compute Engine, Kubernetes oder lokalen Bereitstellungen ausgeführt werden.

ESP-Architektur

Eine Anfrage wird über den folgenden Pfad gesendet:

  1. Eine eingehende Code-Anfrage wird an den ESP gesendet.
  2. Der ESP sendet eine Prüfanfrage an die Service Control API.
  3. Wenn Sie die API so konfiguriert haben, dass ein API-Schlüssel oder eine Authentifizierung erforderlich ist, überprüft die Service Control API, ob die Anfrage zulässig ist, und sendet eine Antwort an den ESP.
  4. Wenn die Anfrage nicht zulässig ist, lehnt der ESP die Anfrage ab. Wenn die Anfrage zulässig ist, wird sie an den Back-End-Code weitergeleitet. In beiden Fällen erfasst der ESP Informationen über die Anfrage.

Die Verwaltungskosten für die Cloud Endpoints API hängen von der monatlichen Anzahl von Aufrufen ab.

Endpoints Frameworks

Für API-Back-Ends, die in der App Engine-Standardumgebung ausgeführt werden, steht Endpoints Frameworks zur Verfügung, um Entwicklern einen schnellen Einstieg in eine API zu ermöglichen. Endpoints Frameworks ist ein Web-Framework und eine Alternative zu Python Flask oder Java Jersey. Endpoints Frameworks wird in die Service Control API eingebunden. Ein Backend, das Endpoints Frameworks verwendet, muss somit nicht hinter dem Extensible Service Proxy ausgeführt werden.

Endpoints Frameworks

Wenn Sie die API-Verwaltung aktiviert haben, wird eine Anfrage über den folgenden Pfad gesendet:

  1. Eine eingehende Codeanfrage wird an das Endpoints Management-Modul in Endpoints Frameworks gesendet.
  2. Das Endpoints Management-Modul sendet eine Prüfanfrage an die Service Control API.
  3. Wenn Sie die API so konfiguriert haben, dass ein API-Schlüssel oder eine Authentifizierung erforderlich ist, überprüft die Service Control API, ob die Anfrage zulässig ist, und sendet eine Antwort an das Endpoints Management-Modul.
  4. Wenn die Anfrage nicht zulässig ist, wird sie vom Endpoints Management-Modul abgelehnt. Wenn die Anfrage zulässig ist, wird sie an Endpoints Frameworks weitergeleitet. In beiden Fällen erfasst das Endpoints Management-Modul Informationen über die Anfrage.
  5. Endpoints Frameworks leitet die Anfrage an den Back-End-Code weiter.

Sie können Endpoints Frameworks mit oder ohne API-Verwaltungsfunktionen verwenden. Die Verwendung von Endpoints Frameworks ohne API-Verwaltungsfunktionen ist kostenlos. Die Gebühren für API-Verwaltungsfunktionen finden Sie auf der Seite mit den Endpoints-Preisen.

Endpoints Frameworks wird nur für Dienste unterstützt, die in der App Engine-Standardumgebung ausgeführt werden. In Compute Engine, GKE, der flexiblen App Engine-Umgebung und anderen Umgebungen müssen Dienste hinter dem ESP ausgeführt werden.

Wenn der Dienst hinter dem ESP ausgeführt wird, kann der Back-End-Code in einer beliebigen Sprache und einem beliebigen Framework geschrieben werden, z. B. Python Flask, Java Jersey oder Node.js Express. In diesen Umgebungen ist Endpoints Frameworks für die API-Verwaltung nicht erforderlich.

Nächste Schritte