反模式:在 API Proxy 中定義多個 ProxyEndpoint

您目前查看的是 ApigeeApigee Hybrid 說明文件。
查看 Apigee Edge 說明文件。

ProxyEndpoint 設定會定義用戶端應用程式透過 Apigee 使用 API 的方式。ProxyEndpoint 會定義 API Proxy 的網址,以及 Proxy 的行為:要套用哪些政策、要將要求路由至哪些目標端點,以及執行這些政策或路由規則時必須符合的條件。

簡而言之,ProxyEndpoint 設定會定義實作 API 的所有必要作業。

反模式

API Proxy 可以有一或多個 Proxy 端點。定義多個 ProxyEndpoint 是一種簡單的機制,可在單一 Proxy 中實作多個 API。這樣您就能在叫用 TargetEndpoint 前後,重複使用政策和/或商業邏輯。

另一方面,在單一 API Proxy 中定義多個 ProxyEndpoint 時,您最終會從概念上將許多不相關的 API 合併為單一構件。這會導致 API Proxy 更難以閱讀、瞭解、偵錯及維護。這與 API Proxy 的主要理念背道而馳,因為 API Proxy 的主要理念是讓開發人員輕鬆建立及維護 API。

影響

API Proxy 中的多個 ProxyEndpoint 可執行下列操作:

  • 讓開發人員難以瞭解及維護 API Proxy。
  • 模糊處理數據分析資料。根據預設,系統會匯總 Proxy 層級的數據分析資料。除非建立自訂報表,否則系統不會依 Proxy 端點細分指標。
  • 難以排解 API Proxy 問題。

最佳做法

導入新的 API Proxy 或重新設計現有 API Proxy 時,請採用下列最佳做法:

  1. 實作一個 API Proxy,其中包含單一 ProxyEndpoint。
  2. 如果有多個 API 共用目標伺服器,且/或需要在叫用目標伺服器前後執行相同邏輯,請考慮使用共用流程,在不同 API Proxy 中實作這類邏輯。
  3. 如果有多個 API 共用相同的起始基本路徑,但後置字元不同,請在單一 ProxyEndpoint 中使用條件流程。
  4. 如果 API Proxy 具有多個 ProxyEndpoint,且沒有任何問題,則無須採取任何行動。

每個 API Proxy 使用一個 ProxyEndpoint 會導致下列情況:

  1. 更簡單、更容易維護的 Proxy
  2. Analytics 會分別回報中介伺服器成效和目標回應時間等更詳盡的資訊,而不是匯總所有 ProxyEndpoint 的資料
  3. 加快疑難排解及問題解決速度

延伸閱讀