查看 Apigee Edge 說明文件。
前往
Apigee X說明文件。 資訊
本文說明如何設定 Apigee Edge 訊息處理器的連線逾時。
連線逾時代表訊息處理器等待建立的時間。
連線至目標伺服器連線逾時屬性的預設值
訊息處理器為 3
秒。這項逾時期限適用於
其下的後端伺服器
API Proxy 的 ServiceCallout
政策。
視您的需求而定,訊息處理器的連線逾時時間可增加或從預設值 (3
秒) 增加。設定方式如下:
- 在 API Proxy 中
- 在目標端點
- 在
ServiceCallout
政策中
- 在訊息處理器中
下列屬性可控制訊息處理器的連線逾時:
屬性名稱 | 位置 | 說明 |
---|---|---|
connect.timeout.millis |
API Proxy:
|
這是訊息處理者等待與目標伺服器連線的時間上限。
根據預設,這個屬性會採用
訊息處理器的 如果修改此屬性時,使用的是相關聯目標伺服器的新逾時值 使用 API Proxy,那麼只有該目標伺服器的連線時間會受到影響。 |
HTTPClient.connect.timeout.millis |
訊息處理器 |
這是訊息處理程式在連線至目標伺服器的時間上限。 這個屬性用於這個訊息處理器上執行的所有 API Proxy。
此屬性的預設值為
您可以修改此屬性,如 所述
請在下方設定訊息處理器的連線逾時設定,或是覆寫這個值
只要在 API Proxy 層級設定 |
事前準備
使用本文件中的步驟前,請務必先瞭解下列主題:
- 如果不熟悉連線逾時,請參閱
connect.timeout.millis
將房源說明放在 TargetEndpoint 傳輸屬性規格。 - 如果您不熟悉在 Private Cloud 中設定 Edge 的屬性,請參閱 如何設定 Edge。
設定 API Proxy 的連線逾時
您可以在 API Proxy 的以下位置設定連線逾時:
- 目標端點
ServiceCallout
政策
設定 API Proxy 目標端點的連線逾時
本節說明如何在 API Proxy 的目標端點中設定連線逾時。
您可以透過屬性 connect.timeout.millis
設定連線逾時。
這代表連線逾時值 (以毫秒為單位)
- 在 Edge UI 中,選取要設定新 Pod 的特定 API Proxy 連線逾時值。
- 選取您要修改的特定目標端點。
- 在
connect.timeout.millis
下方TargetEndpoint
設定中的<HTTPTargetConnection>
元素。舉例來說,如要將連線逾時變更為
5
秒,請將 下列程式碼區塊:<Properties> <Property name="connect.timeout.millis">5000</Property> </Properties>
由於
connect.timeout.millis
屬性是以毫秒為單位,因此5
秒為5000
。以下範例說明如何設定目標端點的連線逾時 設定:
使用後端伺服器的網址的目標端點設定範例
<TargetEndpoint name="default"> <HTTPTargetConnection> <URL>https://mocktarget.apigee.net/json</URL> <Properties> <Property name="connect.timeout.millis">5000</Property> </Properties> </HTTPTargetConnection> </TargetEndpoint>
使用目標伺服器的目標端點設定範例
敬上<TargetEndpoint name="default"> <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Properties> <Property name="connect.timeout.millis">5000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </TargetEndpoint>
- 儲存對 API Proxy 所做的變更。
在 API Proxy 的 ServiceSummary 政策中設定連線逾時
本節說明如何在 ServiceCallout
中設定連線逾時
定義您的 API Proxy 政策您可以透過
connect.timeout.millis
屬性,代表
毫秒。
如要在 ServiceCallout
政策中設定連線逾時,請使用以下指令:
connect.timeout.millis
屬性:
- 在 Edge UI 中,選取要設定新 Pod 的特定 API Proxy
ServiceCallout
政策的連線逾時值。 - 選取要修改的
ServiceCallout
政策。 - 在
connect.timeout.millis
TargetEndpoint
設定中的<HTTPTargetConnection>
元素。舉例來說,如要將連線逾時變更為
5
秒,請新增下列程式碼區塊:<Properties> <Property name="connect.timeout.millis">5000</Property> </Properties>
由於
connect.timeout.millis
屬性是以毫秒為單位,因此5
秒為5000
。以下範例說明如何在 API Proxy 的
ServiceCallout
政策:使用後端伺服器網址的服務摘要政策設定示例
<ServiceCallout name="Service-Callout-1"> <DisplayName>Service Callout-1</DisplayName> <HTTPTargetConnection> <Properties> <Property name="connect.timeout.millis">5000</Property> </Properties> <URL>https://mocktarget.apigee.net/json</URL> </HTTPTargetConnection> </ServiceCallout>
使用目標伺服器的服務摘要政策設定示例
敬上<ServiceCallout enabled="true" name="Service-Callout-1"> <DisplayName>Service Callout-1</DisplayName> <Response>calloutResponse</Response> <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Properties> <Property name="connect.timeout.millis">5000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </ServiceCallout>
- 儲存對 API Proxy 所做的變更。
設定訊息處理器的連線逾時
本節說明如何在「訊息處理器」中設定連線逾時。
您可以透過屬性設定連線逾時
conf_http_HTTPClient.connect.timeout.millis
,代表連線逾時
值 (以毫秒為單位),根據
中描述的語法
如何設定 Edge。
如要設定訊息處理器的連線逾時,請按照下列步驟操作:
- 在訊息處理器電腦上,以編輯器開啟下列檔案。否則
並加以建立
/opt/apigee/customer/application/message-processor.properties
舉例來說,如要使用
vi
開啟檔案, 輸入下列指令:vi /opt/apigee/customer/application/message-processor.properties
- 在屬性檔案中加入下列格式的 1 行,並將
TIME_IN_MILLISECONDS:
conf_http_HTTPClient.connect.timeout.millis=TIME_IN_MILLISECONDS
舉例來說,如要將訊息處理器的連線逾時變更為
5
秒, 新增下列程式碼:conf_http_HTTPClient.connect.timeout.millis=5000
- 儲存變更。
- 確認屬性檔案由
apigee
使用者擁有,如下所示:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- 重新啟動訊息處理器,如下所示:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- 如果您有多部訊息處理器,請針對所有「訊息」重複上述步驟。 處理器:
驗證訊息處理器的連線逾時
本節說明如何驗證連線逾時已於 訊息處理器
雖然使用 conf_http_HTTPClient.connect.timeout.millis
權杖設定
訊息處理器的連線逾時,您必須驗證是否為實際屬性。
已將 HTTPClient.connect.timeout.millis
設為新值。
- 在訊息處理器電腦上搜尋屬性
HTTPTransport.connect.timeout.millis
是/opt/apigee/edge-message-processor/conf
目錄,並查看該目錄是否 已經設定新的值,如下所示:grep -ri "HTTPClient.connect.timeout.millis" /opt/apigee/edge-message-processor/conf
- 如果已成功在訊息處理器上設定新的連線逾時值,則
上述指令會顯示
http.properties
檔案中的新值。您在設定連線逾時時間後,來自上述指令的結果範例
5
秒如下:/opt/apigee/edge-message-processor/conf/http.properties:HTTPClient.connect.timeout.millis=5000
請注意,在上方的輸出範例中,請注意屬性
HTTPClient.connect.timeout.millis
已在http.properties
中以新值5000
進行設定。這表示 訊息連線逾時的設定已成功設為5
秒 處理器。 - 如果仍看到
HTTPClient.connect.timeout.millis
屬性的舊值, 請確認您已遵循 設定訊息處理器的連線逾時 正確。如果您漏掉任何步驟,請再次正確重複所有步驟。 - 如果仍無法修改連線逾時,請與 Google Cloud Apigee Edge 支援團隊聯絡。