啟用 HTTP 部署作業

根據預設,Edge 會使用 RPC 部署 API Proxy。雖然這種模式非常適合大多數安裝作業,但如果拓撲較大且包含許多 MP,則透過 RPC 進行大量並行呼叫時,可能會發生逾時。Apigee 計劃在未來淘汰這項實作。

因此,Apigee 建議大型部署作業使用 HTTP,而非 RPC。

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

本節說明如何為部署作業啟用 HTTP。

更新組織

如要啟用 HTTP 部署,請傳送 PUT 要求至更新組織屬性 API。在要求主體中設定下列屬性:

屬性 說明
allow.deployment.over.http 決定 Edge 是否可透過 HTTP (以及 RPC) 部署 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/json 或 application/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。

詳情請參閱「記錄檔」。