啟用 HTTP 部署作業

根據預設,Edge 會使用 RPC 部署 API Proxy。雖然這個模式非常適合大多數安裝作業,但許多 MP 的較大拓撲可能會因透過遠端程序呼叫 (RPC) 進行大量並行呼叫而發生逾時。Apigee 計劃在未來淘汰這項實作方式。

因此,Apigee 建議較大型的部署作業使用 HTTP 而非遠端程序呼叫 (RPC)。

除了提供更高的可靠性之外,啟用 HTTP 部署還改善了可能會在部署過程中可能會擲回的例外狀況內容和格式。

本節說明如何針對部署啟用 HTTP。

更新機構

如要啟用 HTTP 部署,請將 PUT 要求傳送至更新機構屬性 API。在要求內文中設定下列屬性:

屬性 說明
allow.deployment.over.http 決定 Edge 除了透過 RPC 以外,是否可以透過 HTTP 部署 API Proxy。設為 true 即可允許 HTTP 部署,否則設為 false。預設值為 false

如要啟用 HTTP 部署作業,您必須將這項屬性設為 true

use.http.for.configuration

指定設定事件要使用的方法。可能的值為:

  • never:所有設定事件都使用遠端程序呼叫 (RPC)。此為預設值。
  • retry:所有設定事件會先使用遠端程序呼叫 (RPC),如果事件透過 RPC 失敗,Edge 會嘗試 HTTP。如果您使用的是 HTTP,這可能會導致延遲。
  • always:所有設定事件都使用 HTTP。

如要啟用 HTTP 部署,Apigee 建議將這項屬性設為 always

除了在訊息內文中設定這些屬性以外,您也必須將 Content-Type 標頭設為 application/jsonapplication/xml

以下範例會使用 JSON 訊息內文呼叫更新機構屬性 API

curl -u admin_email:admin_password
  "http://management_server_IP:8080/v1/organizations/org_name"
  -X POST -H "Content-Type: application/json" -d
  '{
    "properties" : {
      "property" : [
      {
        "name" : "allow.deployment.over.http",
        "value" : "true"
      },
      {
        "name" : "use.http.for.configuration",
        "value" : "always"
      } ]
    }
  }'

如要在貴機構中的所有 API Proxy 上啟用 HTTP 部署,您必須按照上述方式更新每個機構。

測試更新

如要測試更新是否成功,請在更新後的機構中的 API Proxy 上觸發部署事件,然後查看訊息處理器的記錄檔。部署事件的記錄項目應包含 mode:API

詳情請參閱記錄檔