關於環境

環境提供獨立的內容或「沙箱」,用於執行 API Proxy。您可以在單一機構中建立多個環境。詳情請參閱「關於環境和環境群組」。

在基本安裝期間,您新增了測試環境。不過,最佳做法是建立多個環境,並在每個環境中部署數量有限的 Proxy

關於虛擬主機和環境

Apigee Hybrid 會使用 Istio Ingress 閘道處理連入的 API 流量。MART 和執行階段服務都已設定 Istio Ingress 閘道,可管理叢集外部公開的連線。也就是說,傳送至 API Proxy 的所有 HTTP 和 HTTPS 要求,都會先由 Istio Ingress 閘道處理。

在混合式環境中,您可以建立一或多個環境,並為每個環境指派主機別名。 主機別名是 DNS 名稱。傳入該 DNS 名稱的流量會由 Ingress 轉送至該環境。在內部,每個環境都會指派給一個且僅一個 訊息處理器,負責處理 Proxy 要求、套用政策,以及將流量轉送至目標服務和從目標服務轉送流量。因此,主機別名會決定哪個訊息處理器接收任何傳入要求。

以下程式碼顯示定義多個環境的設定範例。(這類設定應位於覆寫檔案中)。請注意,環境 dev1prod1 的主機別名不同:

envs:
  - name: dev1
    hostAlias: "apitest.mydomain.net"
    ...

  - name: prod1
    hostAlias: "apiprod.mydomain.net"
    ...

假設基本路徑為 /foo1 的 Proxy 部署至 dev1 環境。您可以這樣呼叫 Proxy:

curl -k https://apitest.mydomain.net/foo1

當這項呼叫傳送至 Ingress 時,Ingress 會知道要將其傳送至與 dev1 環境相關聯的訊息處理器,由該處理器處理要求。

同樣地,如果 foo1 也部署到 prod1 環境,您可以對主機別名 apiprod.mydomain.net 提出類似這樣的 Proxy 要求:

curl -k https://apiprod.mydomain.net/foo1

而 Ingress 會將通話轉送至與該主機相關聯的 MP。

總而言之,您建立的每個環境都必須指派主機別名。 每個環境只會對應一個訊息處理器,主機別名則會決定哪個訊息處理器接收特定要求。

環境可以共用相同的主機別名

Apigee Hybrid 可讓您建立多個環境,並以任何方式管理這些環境。舉例來說,您可以建立多個開發環境 (例如 dev1dev2dev3 等),並將單一主機別名對應至每個環境。此外,您可以在每個環境中部署多個 Proxy。

反模式:將所有 Proxy 部署至一個混合式環境。

最佳做法:建立多個環境,並在每個環境中部署有限數量的 Proxy。管理混合式路徑如何將呼叫項目 Proxy 至共用主機別名的正確環境,這項技術稱為「基本路徑路由」

舉例來說,在下列設定中,環境 dev1dev2 共用相同的主機別名:

envs:
  - name: dev1
    hostAlias: "apitest.mydomain.net"
    ...
  - name: dev2
    hostAlias: "apitest.mydomain.net"
    ...

如果多個環境共用同一個主機別名,您必須使用稱為「基本路徑轉送」的設定技術,將特定 Proxy 基本路徑對應至特定環境。詳情請參閱基本路徑路由

限制 Proxy 部署項目數量

如果是混合式環境,由於許多環境可以共用同一個虛擬主機,因此您必須仔細思考如何管理 Proxy 部署作業,才能將 Proxy 部署至任何指定環境。在混合式環境中,最佳做法是建立多個環境,並在每個環境中部署有限數量的 Proxy。

您應該在環境中部署多少個 Proxy?這個問題沒有標準答案,但下表提供一般指引,說明為何最好限制部署至每個環境的 Proxy 數量,以及管理 Proxy 部署作業時需要考量的事項:

需要考慮的問題 說明
訊息處理器啟動時間 訊息處理器 (MP) 的啟動時間長度與部署至該 MP 的 Proxy 數量直接相關。在自動調度資源的 Kubernetes 環境中,啟動時間變長可能會造成問題。部署至 MP 的 Proxy 越多,如果需要擴充或重新建立 MP,所需時間就越長。
擴充效能 如果您在環境中部署多個 Proxy,其中一個 Proxy 的流量過大,導致系統頻繁自動調度資源,該環境中的所有 Proxy 都會隨之調度資源。使用單一高流量 Proxy 擴充多個 Proxy 的效能可能會造成問題。
吵鬧的鄰居 如果您在同一個環境中部署多個 Proxy,其中一個 Proxy 發生當機情形時,環境中的所有 Proxy 都會停止運作,MP 則會重新啟動。限制部署至環境的 Proxy 數量,可將單一 Proxy 發生當機的影響降至最低。

環境設定參考資料

如需環境設定元素的完整清單,請參閱「設定屬性參考資料」中的 envs

使用環境

如要進一步瞭解設定,請參閱下列主題: