建議您在維護期間停用伺服器的可連性, 以及伺服器重新啟動或升級時可連性停用後,系統不會將任何流量導向 伺服器舉例來說,停用訊息處理器的可連性功能後,路由器就不會 將任何流量導向該訊息處理器。
舉例來說,如要升級訊息處理器,可以按照下列程序操作:
- 停用訊息處理器的可連性。
- 升級訊息處理器。
- 啟用訊息處理器的可連性。
在以下裝置上停用/啟用可連性功能: 訊息處理器
如要停用「訊息處理器」的可連性,只需停止 訊息處理器:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop
訊息處理器會先處理所有待處理的訊息,再關閉訊息。任何新功能 要求會轉送到其他可用的訊息處理器。
如要重新啟動訊息處理器,請使用下列指令:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor start
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor wait_for_ready
wait_for_ready
指令會在訊息回應時傳回以下訊息
處理器已準備好處理訊息:
Checking if message-processor is up: message-processor is up.
停用/啟用裝置的可連性 路由器
在實際工作環境中,邊緣路由器的前方通常會有一個負載平衡器。 負載平衡器會監控路由器的通訊埠 15999,確保路徑可供使用。
設定負載平衡器,以使用 下列網址:
http://router_IP:15999/v1/servers/self/reachable
如果可連線路由器,此網址會傳回 HTTP 200 回應代碼。
如要禁止連至路由器,可以封鎖路由器的通訊埠 15999。如果負載平衡器是 無法透過通訊埠 15999 存取路由器,系統就不會再將要求轉送至路由器。適用對象 舉例來說,您可以在路由器節點上使用下列 iptable 指令來封鎖通訊埠:
sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
如要稍後提供路由器,請清除 iptable:
sudo iptables -F
您可能使用 iptable 管理節點上的其他通訊埠,以建立節點 因此,當您清除 iptable 或使用 iptable 來封鎖通訊埠 15999 時,會考量這一點。如果使用 至於其他規則的 iptable,您可以使用 -D 選項來反轉特定變更:
sudo iptables -D INPUT -i eth0 -p tcp --dport 15999 -j REJECT
執行路由器健康狀態檢查
您可以對路由器執行以下類型的健康狀態檢查:
- 有效性:向監控子系統發出重新啟動信號的信號
元件。例如:
To check a router's liveness: http://router_IP:8081/v1/servers/self/up To check a load balancer's liveness: http://router_IP:15999/v1/servers/self/reachable
- 就緒:判斷路由器是否能處理特定環境的客戶要求。
例如:
To check both a router and MP pool's availability: http://router_IP:15999/{org}__{env}
如要取得路由器的狀態,請向路由器的通訊埠 8081 發出要求:
curl -v http://router_IP:8081/v1/servers/self/up
如果路由器正在運作,要求會傳回「true」回應和 HTTP 200請注意,此 呼叫只會檢查路由器是否正常執行。從路由器存取路由器的可連性 負載平衡器取決於通訊埠 15999
如何取得訊息處理器的狀態:
curl http://Message_Processor_IP:8082/v1/servers/self/up