私有雲版本 4.16.09 版本
路由器會每五秒檢查一次訊息處理者,判斷訊息處理工具是否能處理要求。如果「訊息處理工具」停止運作,路由器會自動將要求轉送至其他「訊息處理者」。
您可以在「路由器」上設定 conf_load_balancing_load.balancing.driver.nginx.server.retry 屬性,藉此設定路由器在「訊息處理器」關閉時的回應方式。該屬性會採用一組以空格分隔的值,包括:
- off:停用重試,路由器在提出要求時會傳回錯誤代碼。
- http_599:(預設) 如果路由器從訊息處理器接收 HTTP 599 回應,路由器就會將要求轉送至下一個「訊息處理者」。
HTTP 599 是特殊回應代碼,由訊息處理器在關機時產生。訊息處理器會嘗試完成所有現有要求,但如有任何新要求,則會以 HTTP 599 回應,向路由器發出提示,以便在下一個訊息處理器中重試要求。 - error:如果在與訊息處理器建立連線、傳送要求給它,或讀取其中的回應標頭時發生錯誤,路由器會將要求轉送至下一個訊息處理工具。
- timeout:如果與訊息處理器建立連線、傳送要求給它,或從該訊息讀取回應標頭時發生逾時,則路由器會將要求轉送至下一個訊息處理工具。
- invalid_header:如果訊息處理工具傳回空白或無效的回應,路由器就會將要求轉送至下一個訊息處理器。
- http_XXX:如果訊息處理工具傳回了 HTTP 代碼 XXX 的回應,則路由器會將要求轉送至下一個「訊息處理者」。
如要設定路由器:
- 編輯 /<inst_root>/apigee/customer/application/router.properties 檔案 (如果檔案不存在,請建立該檔案)。
- 新增 conf_load_balancing_load.balancing.driver.nginx.server.retry 屬性,如下所示:
conf_load_balancing_load.balancing.driver.nginx.server.retry=http_599 錯誤 - 重新啟動路由器:
> /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-router restart