跨後端伺服器負載平衡

您正在查看 Apigee Edge 說明文件。
前往 Apigee X 說明文件
info

Apigee Edge 提供內建的負載平衡和備援功能,可跨多個後端伺服器執行個體運作,進而提升 API 的可用性。

TargetServer 設定會將具體端點網址與 TargetEndpoint 設定分開。每個 TargetServer 都會在 TargetEndpoint HTTPConnection 中以名稱參照。您可以設定一或多個命名的 TargetServer,而非在設定中定義具體網址,如「TargetEndpoint」一節所述。

TargetServer 定義包含名稱、主機和通訊埠,以及額外元素,用於指出 TargetServer 是否已啟用。

影片

請觀看下列影片,進一步瞭解如何使用目標伺服器進行 API 路由和負載平衡

影片 說明
使用目標伺服器進行負載平衡 跨目標伺服器負載平衡 API。
根據使用目標伺服器的環境進行 API 路由 根據環境將 API 轉送至不同的目標伺服器。
使用目標伺服器進行 API 轉送和負載平衡 (Classic Edge) 根據環境將 API 轉送至不同的目標伺服器,並在 Classic Edge UI 中跨目標伺服器平衡 API 負載。

TargetServer 設定範例

以下程式碼會定義目標伺服器:

<TargetServer  name="target1">
  <Host>1.mybackendservice.com</Host>
  <Port>80</Port>
  <IsEnabled>true</IsEnabled>
</TargetServer >

TargetServer 設定元素

下表說明用於建立及設定 TargetServer 的元素:

名稱 說明 預設 必填與否
name TargetServer 設定的名稱,在環境中不得重複。TargetServer 名稱只能包含英數字元。 不適用
Host

後端服務的主機網址 (不含通訊協定)。

不適用
Port 後端服務監聽的通訊埠 不適用
IsEnabled 布林值,表示是否已啟用 TargetServer 設定。這樣一來,您就能在不修改 API 代理程式設定的情況下,將 TargetServer 從輪替中移除。常見的用途是編寫應用程式或指令碼,根據預期容量需求、維護時間表等自動啟用或停用 TargetServer。 true

使用 UI 管理目標伺服器

管理目標伺服器,詳情請見下文。

Edge

如要使用 Edge UI 管理目標伺服器,請按照下列步驟操作:

  1. 登入 apigee.com/edge
  2. 在左側導覽列中依序選取「管理」>「環境」>「目標伺服器」
  3. 選取所需環境,例如「test」或「prod」
  4. 如要建立目標伺服器,請按照下列步驟操作:
    1. 按一下「+ 指定伺服器」
    2. 輸入目標伺服器的名稱、主機和通訊埠。

      例如:

      • 名稱:target1
      • 主機:1.mybackendservice.com
      • 通訊埠:80
    3. 視需要選取「SSL」SSL
    4. 選取「已啟用」,即可啟用目標伺服器。
    5. 按一下 [新增]。
  5. 如要編輯目標伺服器,請按照下列步驟操作:
    1. 將游標移至要編輯的目標伺服器,即可顯示動作選單。
    2. 按一下「」。
    3. 編輯目標伺服器值。
    4. 按一下「更新」
  6. 如要刪除目標伺服器,請按照下列步驟操作:
    1. 將滑鼠游標懸停在要刪除的目標伺服器上,即可顯示操作選單。
    2. 按一下「」。
    3. 按一下「刪除」確認操作。

Classic Edge (Private Cloud)

如要使用 Edge 傳統版 UI 存取「建立 Proxy」精靈,請按照下列步驟操作:

  1. 登入 http://ms-ip:9000,其中 ms-ip 是管理伺服器節點的 IP 位址或 DNS 名稱。
  2. 在左側導覽列中,依序選取「API」>「環境設定」>「目標伺服器」
  3. 選取所需環境,例如「test」或「prod」
  4. 如要建立目標伺服器,請按照下列步驟操作:
    1. 按一下 [編輯]
    2. 按一下「+ 指定伺服器」
    3. 輸入目標伺服器的名稱、主機和通訊埠。

      例如:

      • 名稱:target1
      • 主機:1.mybackendservice.com
      • 通訊埠:80
    4. 選取「已啟用」,即可啟用目標伺服器。
    5. 按一下 [儲存]
  5. 如要編輯目標伺服器,請按照下列步驟操作:
    1. 按一下 [編輯]
    2. 編輯目標伺服器值。
    3. 按一下 [儲存]
  6. 如要刪除目標伺服器,請按照下列步驟操作:
    1. 按一下 [編輯]
    2. 點選「刪除」

使用 API 管理目標伺服器

您可以使用 Edge API 建立、刪除、更新、取得及列出目標伺服器。詳情請參閱「TargetServers」。

請使用下列 API 呼叫建立目標伺服器:

$ curl -H "Content-Type:text/xml" -X POST -d \
'<TargetServer name="target1">
   <Host>1.mybackendservice.com</Host>
   <Port>80</Port>
   <IsEnabled>true</IsEnabled>
 </TargetServer>' \
-u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/environments/test/targetservers

回應範例:

{
  "host" : "1.mybackendservice.com",
  "isEnabled" : true,
  "name" : "target1",
  "port" : 80
}

建立第一個 TargetServer 後,請使用下列 API 呼叫建立第二個 TargetServer。定義兩個 TargetServer 後,您就會提供兩個網址,讓 TargetEndpoint 用於負載平衡:

$ curl -H "Content-type:text/xml" -X POST -d \
'<TargetServer  name="target2">
  <Host>2.mybackendservice.com</Host>
  <Port>80</Port>
  <IsEnabled>true</IsEnabled>
</TargetServer >' \
-u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/environments/test/targetservers

回應範例:

{
  "host" : "2.mybackendservice.com",
  "isEnabled" : true,
  "name" : "target2",
  "port" : 80
}

使用下列 API 呼叫,擷取環境中的 TargetServer 清單:

$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/environments/test/targetservers

回應範例:

[ "target2", "target1" ]

在測試環境中部署的 API Proxy 現可使用兩個 TargetServer。如要跨這些 TargetServer 負載平衡流量,您必須在 API Proxy 的目標端點中設定 HTTP 連線,以便使用 TargetServer。

如「限制」主題所述,每個環境的 TargetServer 上限為 500 個。

設定 TargetEndpoint,以便在命名的 TargetServer 之間進行負載平衡

有了兩個可用的 TargetServer,您可以修改 TargetEndpoint HTTP 連線設定,以名稱參照這兩個 TargetServer:

<TargetEndpoint name="default">
  <HTTPTargetConnection>
    <LoadBalancer>
      <Server name="target1" />
      <Server name="target2" />
    </LoadBalancer>
    <Path>/test</Path>
  </HTTPTargetConnection>
</TargetEndpoint>

上述設定是最基本的負載平衡設定。負載平衡器支援三種負載平衡演算法:循環配置、加權和最少連線。輪替是預設演算法。由於上述設定中未指定演算法,因此從 API Proxy 傳送至後端伺服器的傳出要求會在 target1 和 target2 之間交替,一對一。

<Path> 元素會為所有目標伺服器的 TargetEndpoint URI 建立基底路徑。只有在使用 <LoadBalancer> 時才會使用。否則系統會忽略。在上例中,傳送至「target1」的要求會是 http://target1/test,其他目標伺服器也是如此。

設定負載平衡器選項

您可以使用負載平衡器和 TargetServer 層級的負載平衡和容錯選項,調整可用性。本節將說明這些選項。

演算法

設定 <LoadBalancer> 使用的演算法。可用的演算法為 RoundRobinWeightedLeastConnections,每個演算法都會在下方說明。

循環制

預設演算法輪替,會依照目標端點 HTTP 連線中列出的順序,將要求轉送至每個 TargetServer。例如:

<TargetEndpoint name="default">
  <HTTPTargetConnection>
      <LoadBalancer>
        <Algorithm>RoundRobin</Algorithm>
        <Server name="target1" />
        <Server name="target2" />
      </LoadBalancer>
      <Path>/test</Path>
  </HTTPTargetConnection>
</TargetEndpoint>

加權

您可以使用加權負載平衡演算法,為 TargetServer 設定比例流量負載。權重負載平衡器會依各 TargetServer 的權重,將要求分配給 TargetServer。因此,加權演算法要求您為每個 TargetServer 設定 weight 屬性。例如:

<TargetEndpoint name="default">
  <HTTPTargetConnection>
    <LoadBalancer>
      <Algorithm>Weighted</Algorithm>
      <Server name="target1">
        <Weight>1</Weight>
      </Server>
      <Server name="target2">
        <Weight>2</Weight>
      </Server>
    </LoadBalancer>
    <Path>/test</Path>
  </HTTPTargetConnection>
</TargetEndpoint>

在這個範例中,每當有一個要求轉送至 target1,就會有兩個要求轉送至 target2。

最少連線

LoadBalancer 會設為使用最少連線演算法,將連出要求轉送至連線數量最少的 TargetServer。例如:

<TargetEndpoint name="default">
  <HTTPTargetConnection>
      <LoadBalancer>
        <Algorithm>LeastConnections</Algorithm>
        <Server name="target1" />
        <Server name="target2" />
      </LoadBalancer>
  </HTTPTargetConnection>
  <Path>/test</Path>
</TargetEndpoint>

失敗次數上限

從 API 代理程式傳送至 TargetServer 的失敗要求數量上限,這會導致要求重新導向至其他 TargetServer。

回應失敗表示 Apigee 未收到目標伺服器的任何回應。在這種情況下,失敗計數器會增加 1。

不過,如果 Apigee 確實收到目標的回應,即使回應是 HTTP 錯誤 (例如 500),也會視為來自目標伺服器的回應,並重設失敗計數器。為確保錯誤的 HTTP 回應 (例如 500) 也會增加失敗計數器,以便盡快將不健康的伺服器從負載平衡輪替中移除,您可以在負載平衡器設定中加入 <ServerUnhealthyResponse> 元素,並加上 <ResponseCode> 子元素。Edge 也會將含有這些代碼的回應計為失敗。

在以下範例中,target1 會在五次要求失敗後從輪替中移除,包括來自目標伺服器的部分 5XX 回應。

<TargetEndpoint name="default">
  <HTTPTargetConnection>
      <LoadBalancer>
        <Algorithm>RoundRobin</Algorithm>
        <Server name="target1" />
        <Server name="target2" />
        <MaxFailures>5</MaxFailures>
        <ServerUnhealthyResponse>
            <ResponseCode>500</ResponseCode>
            <ResponseCode>502</ResponseCode>
            <ResponseCode>503</ResponseCode>
        </ServerUnhealthyResponse>
      </LoadBalancer>
      <Path>/test</Path>
  </HTTPTargetConnection>
</TargetEndpoint>

MaxFailures 的預設值為 0。這表示 Edge 會一律嘗試連線至每個要求的目標,且絕不會從輪替中移除目標伺服器。

建議您在 HealthMonitor 中使用 MaxFailures > 0。如果您設定的 MaxFailures 大於 0,當目標失敗次數達到您指定的次數,TargetServer 就會從輪替中移除。當 HealthMonitor 就位時,Apigee 會根據該 HealthMonitor 的設定,在目標重新啟動後自動將 TargetServer 納入輪替。詳情請參閱「健康監控」一文。

或者,如果您設定的 MaxFailures 大於 0,但未設定健康狀態監控器,Apigee 會在偵測到第一個失敗時,自動將目標伺服器從輪替中移除。Apigee 會每五分鐘檢查目標伺服器的健康狀態,並在伺服器正常回應時將其歸還至輪替。

重試

如果已啟用重試,只要發生回應失敗 (I/O 錯誤或 HTTP 逾時) 或收到的回應與 <ServerUnhealthyResponse> 設定的值相符,系統就會重試要求。如要進一步瞭解如何設定 <ServerUnhealthyResponse>,請參閱上方的「失敗次數上限」。

根據預設,<RetryEnabled> 會設為 true。如要停用重試,請將值設為 false。例如:

<RetryEnabled>false</RetryEnabled>

IsFallback

您可以將一個 (且僅一個) TargetServer 設為「備用」伺服器。負載平衡器會先將所有其他 TargetServer 視為無法使用,才會將備用 TargetServer 納入負載平衡例行程序。當負載平衡器判斷所有 TargetServers 皆無法使用時,所有流量都會路由至備用伺服器。例如:

<TargetEndpoint name="default">
  <HTTPTargetConnection>
      <LoadBalancer>
        <Algorithm>RoundRobin</Algorithm>
        <Server name="target1" />
        <Server name="target2" />
        <Server name="target3">
          <IsFallback>true</IsFallback>
        </Server>
      </LoadBalancer>
      <Path>/test</Path>
  </HTTPTargetConnection>
</TargetEndpoint>

上述設定會在目標 1 和 2 之間輪流負載平衡,直到目標 1 和 2 都無法使用為止。如果無法使用目標 1 和 2,所有流量都會導向目標 3。

路徑

Path 會定義 URI 片段,並附加至 TargetServer 向後端伺服器發出的所有要求。

這個元素可接受常值字串路徑或訊息範本。訊息範本可讓您在執行階段執行變數字串替換作業。舉例來說,在下列目標端點定義中,路徑會使用 {mypath} 的值:

<HTTPTargetConnection>
    <SSLInfo>
      <Enabled>true</Enabled>
    </SSLInfo>
    <LoadBalancer>
      <Server name="testserver"/>
    </LoadBalancer>
    <Path>{mypath}</Path>
</HTTPTargetConnection>

設定 TLS/SSL 的目標伺服器

如果您使用 TargetServer 定義後端服務,而後端服務需要使用 HTTPS 通訊協定的連線,則必須在 TargetServer 定義中啟用 TLS/SSL。這是必要的,因為 <Host> 標記無法讓您指定連線通訊協定。以下是單向 TLS/SSL 的 TargetServer 定義,Edge 會向後端服務提出 HTTPS 要求:

<TargetServer name="target1">
  <Host>mocktarget.apigee.net</Host>
  <Port>443</Port>
  <IsEnabled>true</IsEnabled>
  <SSLInfo>
      <Enabled>true</Enabled>
  </SSLInfo> 
</TargetServer>

如果後端服務需要雙向或雙向傳輸層安全標準 (TLS/SSL),請使用與 TargetEndpoints 相同的 TLS/SSL 設定來設定 TargetServer:

<TargetServer  name="TargetServer 1">
    <IsEnabled>true</IsEnabled>
    <Host>www.example.com</Host>
    <Port>443</Port>
    <SSLInfo>
        <Ciphers/>
        <ClientAuthEnabled>true</ClientAuthEnabled>
        <Enabled>true</Enabled>
        <IgnoreValidationErrors>false</IgnoreValidationErrors>
        <KeyAlias>keystore-alias</KeyAlias>
        <KeyStore>keystore-name</KeyStore>
        <Protocols/>
        <TrustStore>truststore-name</TrustStore>
    </SSLInfo>
</TargetServer >

如要瞭解 <SSLInfo> 屬性 (例如 <Ciphers><ClientAuthEnabled>) 的相關資訊,請參閱「設定私人雲端的 API TLS 存取權」一文,瞭解如何為虛擬主機設定這些屬性。

如需設定傳出 TLS/SSL 的完整操作說明,請參閱「從 Edge 到後端 (Cloud 和 Private Cloud) 設定 TLS」一文。

TargetServer 結構定義

請參閱 GitHub 上的 TargetServer 和其他實體的結構定義。

狀態監控

您可以透過健康狀態監控功能,主動輪詢 TargetServer 設定中定義的後端服務網址,藉此改善負載平衡設定。啟用健康狀態監控功能後,當 HealthMonitor 判斷 TargetServer 處於活動狀態時,就會自動將失敗的 TargetServer 放回輪替。

狀態監控功能可與 <MaxFailures> 搭配使用。如果未啟用健康狀態監控,<MaxFailures> 會指定從 API Proxy 傳送至 TargetServer 的失敗要求數量,導致要求重新導向至其他 TargetServer。失敗的 TargetServer 會從輪替中移除,直到您重新部署 Proxy 為止。

啟用健康狀態監控功能後,失敗的 TargetServer 會自動放回輪替,不需要重新部署 Proxy。

HealthMonitor 會充當簡單的用戶端,透過 TCP 或 HTTP 叫用後端服務:

  • TCP 用戶端只需確保可以開啟 Socket。
  • 您可以設定 HTTP 用戶端,將有效的 HTTP 要求提交至後端服務。您可以定義 HTTP GET、PUT、POST 或 DELETE 作業。HTTP 監控器呼叫的回應必須符合 <SuccessResponse> 區塊中設定的設定。

成功和失敗

啟用健康狀態監控功能後,Edge 就會開始將健康狀態檢查傳送至目標伺服器。健康狀態檢查是傳送至目標伺服器的要求,用於判斷目標伺服器的健康狀態。

健康狀態檢查可能會有以下兩種結果:

  • 成功:系統會在成功執行健康狀態檢查時,將目標伺服器視為健康狀態良好。這通常是下列一或多項原因造成的結果:
    • 目標伺服器會接受連線至指定通訊埠的新連線、回應該通訊埠上的要求,然後在指定時間範圍內關閉通訊埠。目標伺服器的回應包含「Connection: close」
    • 目標伺服器會以 200 (OK) 或其他您認為可接受的 HTTP 狀態碼回應健康狀態檢查要求。
    • 目標伺服器會以符合預期的訊息主體回應健康檢查要求。

    Edge 判斷伺服器為健康狀態時,就會繼續或恢復傳送要求。

  • 失敗:目標伺服器可能會因檢查類型不同,以不同方式失敗健康狀態檢查。當目標伺服器發生下列情況時,系統會記錄失敗:
    • 拒絕 Edge 與健康狀態檢查埠的連線。
    • 未在指定時間內回應健康狀態檢查要求。
    • 傳回非預期的 HTTP 狀態碼。
    • 回覆的郵件內文不符合預期的郵件內文。

    當目標伺服器未通過健康狀態檢查時,Edge 會遞增該伺服器的失敗次數。如果該伺服器的失敗次數達到或超過預先定義的門檻 (<MaxFailures>),Edge 就會停止傳送要求給該伺服器。

啟用 HealthMonitor

如要建立 HealthMonitor,請將 <HealthMonitor> 元素新增至 Proxy 的 TargetEndpoint HTTPConnection 設定。您無法在使用者介面中執行這項操作。而是建立 Proxy 設定,並以 ZIP 檔案格式上傳至 Edge。Proxy 設定是 API Proxy 所有層面的結構化說明。代理程設定包含預先定義目錄結構中的 XML 檔案。詳情請參閱「API Proxy 設定參考資料」。

簡單的 HealthMonitor 會定義 IntervalInSec 與 TCPMonitor 或 HTTPMonitor 的組合。<MaxFailures> 元素會指定從 API 代理程式傳送至 TargetServer 的失敗要求數量上限,這會導致要求重新導向至其他 TargetServer。預設情況下,<MaxFailures> 為 0,表示 Edge 不會執行任何修正動作。設定健康監控器時,請務必將 <TargetEndpoint> 標記的 <HTTPTargetConnection> 標記中的 <MaxFailures> 設為非零值。

TCPMonitor

以下設定定義了 HealthMonitor,這個監控器會每五秒在通訊埠 80 上開啟連線,用來輪詢每個 TargetServer。(Port 為選填欄位。如果未指定,TCPMonitor 連接埠就是 TargetServer 連接埠)。

  • 如果連線失敗或連線時間超過 10 秒,則該 TargetServer 的失敗計數會增加 1。
  • 如果連線成功,TargetServer 的失敗次數就會重設為 0。

您可以將 HealthMonitor 新增為 TargetEndpoint 的 HTTPTargetConnetion 元素子項,如下所示:

<TargetEndpoint name="default">
  <HTTPTargetConnection>
      <LoadBalancer>
        <Algorithm>RoundRobin</Algorithm>
        <Server name="target1" />
        <Server name="target2" />
        <MaxFailures>5</MaxFailures>
      </LoadBalancer>
      <Path>/test</Path>
      <HealthMonitor>
        <IsEnabled>true</IsEnabled>
        <IntervalInSec>5</IntervalInSec>
        <TCPMonitor>
            <ConnectTimeoutInSec>10</ConnectTimeoutInSec>
            <Port>80</Port>
        </TCPMonitor>
      </HealthMonitor>
  </HTTPTargetConnection>
. . .

搭配 TCPMonitor 設定元素的 HealthMonitor

下表說明 TCPMonitor 設定元素:

名稱 說明 預設 必填與否
IsEnabled 啟用或停用 HealthMonitor 的布林值。 false
IntervalInSec 每次輪詢 TCP 要求之間的時間間隔 (以秒為單位)。 0
ConnectTimeoutInSec 建立 TCP 通訊埠連線的時間,超過此時間則視為失敗。如果在指定的間隔內無法連線,系統會將其視為失敗,並增加負載平衡器針對 TargetServer 的失敗次數。 0
Port 選用設定。用來建立 TCP 連線的通訊埠。如果未指定,TCPMonitor 連接埠就是 TargetServer 連接埠。 0

HTTPMonitor

使用 HTTPMonitor 的 HealthMonitor 範例會每五秒向後端服務提交一次 GET 要求。下列範例會在要求訊息中加入 HTTP 基本授權標頭。回應設定會定義要與後端服務實際回應比較的設定。在下方範例中,預期的回應是 HTTP 回應代碼 200,以及值為 YourOK 的自訂 HTTP 標頭 ImOK。如果回應不相符,負載平衡器設定會將要求視為失敗。

HTTPMonitor 支援後端服務,這些服務已設定為使用 HTTP 和單向 HTTPS 通訊協定。不過,它不支援下列項目:

  • 雙向 HTTPS (也稱為雙向 TLS/SSL)
  • 自行簽署的憑證。

請注意,HTTP 監控器中的所有要求和回應設定都會針對必須叫用的後端服務進行設定。

    <HealthMonitor>
      <IsEnabled>true</IsEnabled>
      <IntervalInSec>5</IntervalInSec>
      <HTTPMonitor>
        <Request>
          <IsSSL>true</IsSSL>
          <ConnectTimeoutInSec>10</ConnectTimeoutInSec>
          <SocketReadTimeoutInSec>30</SocketReadTimeoutInSec>
          <Port>80</Port>
          <Verb>GET</Verb>
          <Path>/healthcheck</Path>
          <Header name="Authorization">Basic 12e98yfw87etf</Header>
          <IncludeHealthCheckIdHeader>true</IncludeHealthCheckIdHeader>
        </Request>
        <SuccessResponse>
          <ResponseCode>200</ResponseCode>
          <Header name="ImOK">YourOK</Header>
        </SuccessResponse>
      </HTTPMonitor>
    </HealthMonitor>
    

包含 HTTPMonitor 設定元素的 HealthMonitor

下表說明 HTTPMonitor 設定元素:

名稱 說明 預設 必填與否
IsEnabled 啟用或停用 HealthMonitor 的布林值。 false
IntervalInSec 每次輪詢要求之間的時間間隔 (以秒為單位)。 0
Request

HealthMonitor 傳送至輪替中的 TargetServer 外寄要求訊息的設定選項。

Path 不支援變數。

不適用
IsSSL 指定是否要使用 HTTPS (安全 HTTP) 監控連線。

可能的值:
  • true:使用 HTTPs。
  • false:使用 HTTP。
  • 未指定:使用目標伺服器設定。
false
ConnectTimeoutInSec 與 HTTP 服務的 TCP 連線握手動作必須完成的時間 (以秒為單位),才算成功。如果在指定的間隔內無法連線,就會計為失敗,並增加 LoadBalancer 針對 TargetServer 的失敗次數。 0
SocketReadTimeoutInSec 資料必須從 HTTP 服務讀取的時間 (以秒為單位),才算成功。未在指定間隔內讀取內容會計為失敗,並會增加 LoadBalancer 針對 TargetServer 的失敗計數。 0
Port 建立後端服務 HTTP 連線的通訊埠。 不適用
Verb 用於後端服務的每個 HTTP 輪詢要求的 HTTP 動詞。 不適用
Path 在 TargetServer 中定義的網址附加的路徑。使用路徑元素,在 HTTP 服務上設定「輪詢端點」。 不適用

IncludeHealthCheckIdHeader

可讓您追蹤上游系統的健檢要求。IncludeHealthCheckIdHeader 會採用布林值,並預設為 false。如果將其設為 true,則會出現名為 X-Apigee-Healthcheck-IdHeader,並將其插入健康狀態檢查要求。標頭的值會動態指派,並採用 ORG/ENV/SERVER_UUID/N 的格式,其中 ORG 是機構名稱、ENV 是環境名稱、SERVER_UUID 是識別 MP 的專屬 ID,而 N 則是自 1970 年 1 月 1 日以來經過的毫秒數。

產生的請求標頭範例:

X-Apigee-Healthcheck-Id: orgname/envname/E8C4D2EE-3A69-428A-8616-030ABDE864E0/1586802968123
false
Payload 為每個輪詢 HTTP 要求產生的 HTTP 主體。請注意,GET 要求不需要此元素。 不適用
SuccessResponse 與輪詢後端服務產生的內送 HTTP 回應訊息相符的選項。不相符的回應會使失敗計數增加 1。 不適用
ResponseCode 預期從輪詢的 TargetServer 收到的 HTTP 回應碼。如果程式碼與指定的程式碼不同,就會導致失敗,且會針對已輪詢的後端服務遞增計數。您可以定義多個 ResponseCode 元素。 不適用
Headers 一或多個 HTTP 標頭和值的清單,這些標頭和值應會從輪詢的後端服務收到。回應中任何與指定值不同的 HTTP 標頭或值都會導致失敗,且已輪詢的 TargetServer 計數會增加 1。您可以定義多個 Header 元素。 不適用