比較可擴充服務 Proxy 和 Cloud Endpoints Frameworks

本頁說明 App Engine 標準環境適用的 Endpoints Frameworks 與可擴充服務 Proxy (ESP) 之間的差異,後者適用於 Cloud Endpoints for API (需使用 OpenAPIgRPC)。如需關於 Endpoints 選項的詳細資訊,請參閱選擇 Endpoints 選項

總覽

Cloud Endpoints 是 API 管理系統,能協助您運用 Google 用於自家 API 的基礎架構來防護、監控、分析您的 API,以及設定 API 配額。API 管理功能包括驗證、API 金鑰、監控、記錄,以及追蹤,不需採用實作 API 所用的技術。API 管理功能透過 ESP 或 Endpoints Frameworks 提供。

可擴充服務 Proxy

OpenAPI 和 gRPC 適用的 Endpoints 會透過可擴充服務 Proxy 來轉發 API 要求,這項 Proxy 會確認金鑰效力並驗證憑證,再經由 Service Control API 傳送訊號 (指標和記錄檔)。ESP 提供區別功能,讓您能夠以任何語言編寫 REST 或 gRPC 後端程式碼,也可以使用 gRPC 或任何一種能利用 OpenAPI 來支援 API 說明的架構。

  • 使用 OpenAPI 的 API:API 後端可以執行於 App Engine 彈性環境、Google Kubernetes Engine (GKE)、Compute Engine、Kubernetes 或內部部署作業。

  • 使用 gRPC 的 API:API 後端可執行於 GKE、Compute Engine、Kubernetes 或內部部署作業。

ESP 架構

會傳送要求至下列路徑:

  1. 接收傳送至程式碼的要求後,再將要求傳送至 ESP。
  2. ESP 傳送檢查要求至 Service Control。
  3. 如果您設定的 API 規定要有 API 金鑰或須進行驗證,Service Control 會檢查並確認該項要求是否符合允許條件,再傳送回應到 ESP。
  4. 如果該項要求不符合允許條件,ESP 會拒絕要求。如果符合,則 ESP 會將要求轉送到您的後端程式碼。無論何種方式,ESP 都會記錄該項要求的相關資訊。

Cloud Endpoints API 管理功能的定價取決於每個月的呼叫次數。

Endpoints Frameworks

如果 API 後端執行於 App Engine 標準環境,開發人員可借助 Endpoints Frameworks 快速開始提供 API。Endpoints Frameworks 是一種網路架構,能夠取代 Python Flask 或 Java Jersey。Endpoints Frameworks 整合於 Service Control API,也就是說,使用 Endpoints Frameworks 的後端就不需要在可擴充服務 Proxy 後端執行。

Endpoints Frameworks

如果您啟用了 API 管理,要求會依照下列路徑傳送:

  1. 接收傳送到程式碼的要求後,再將要求傳送到 Endpoints Frameworks 內的 Endpoints 管理模組。
  2. Endpoints 管理模組傳送檢查要求到 Service Control。
  3. 如果您設定的 API 規定要有 API 金鑰或須進行驗證,Service Control 會檢查並確認該項要求是否符合允許條件,再傳送回應到 Endpoints 管理模組。
  4. 如果該項要求不符合允許條件,Endpoints 管理模組會拒絕要求。如果符合,則 Endpoints 管理模組會將要求轉送到 Endpoints Frameworks。無論何種方式,Endpoints 管理模組都會記錄該項要求的相關資訊。
  5. Endpoints Frameworks 會將要求轉送到您的後端程式碼。

Endpoints Frameworks 可搭配或不搭配使用 API 管理功能。如果未搭配 API 管理功能,使用 Endpoints Frameworks 就不需付費。API 管理功能根據 Cloud Endpoints 定價頁面計費。

只有執行於 App Engine 標準環境的服務支援 Endpoints Frameworks。如果您的服務執行於 Compute Engine、GKE、App Engine 彈性環境或其他環境,則服務必須在 ESP 後端執行。

如果服務在 ESP 後端執行,就可以使用任何語言和架構來編寫後端程式碼,例如 Python Flask、Java Jersey 或 Node.js Express。這類環境不需使用 Endpoints Frameworks 就可以管理 API。

相關資源

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
App Engine 適用的 Cloud Endpoints Frameworks
需要協助嗎?請前往我們的支援網頁