Edge for Private Cloud 4.19.01 版
建議您在維護期間 (例如重新啟動或升級伺服器時) 停用伺服器的可連性。停用可連性時,系統不會將任何流量導向伺服器。舉例來說,如果訊息處理器的可連線狀態設為停用,路由器就不會將任何流量導向該訊息處理器。
舉例來說,如要升級訊息處理器,可以使用下列程序:
- 停用訊息處理器的可連線狀態。
- 升級訊息處理器。
- 在訊息處理器上啟用可連性。
停用/啟用訊息處理器的連線能力
如要停用訊息處理器的可連線狀態,只要停止訊息處理器即可:
/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.
停用/啟用路由器的可連性
在正式環境中,Edge 路由器前方通常會有負載平衡器。負載平衡器會監控路由器上的通訊埠 15999,確保路由可用。
設定負載平衡器,使用下列網址對路由器執行 HTTP 或 TCP 健康狀態檢查:
http://router_IP:15999/v1/servers/self/reachable
如果可以連上路由器,這個網址會傳回 HTTP 200 回應代碼。
如要讓路由器無法連線,可以封鎖路由器上的通訊埠 15999。如果負載平衡器無法透過通訊埠 15999 存取路由器,就不會再將要求轉送至路由器。舉例來說,您可以在路由器節點上使用下列 iptables 指令封鎖通訊埠:
sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
如要日後再啟用路由器,請清除 iptables:
sudo iptables -F
您可能正在使用 iptables 管理節點上的其他通訊埠,因此在清除 iptables 或使用 iptables 封鎖通訊埠 15999 時,必須考量到這一點。如果您使用 iptables 處理其他規則,可以使用 -D 選項來撤銷特定變更:
sudo iptables -D INPUT -i eth0 -p tcp --dport 15999 -j REJECT
檢查路由器或訊息處理器的狀態
如要取得路由器的狀態,請向路由器上的通訊埠 8081 發出要求:
curl -v http://router_IP:8081/v1/servers/self/up
如果路由器已啟動,要求會在回應和 HTTP 200 中傳回「true」。請注意,這項呼叫只會檢查路由器是否正常運作,路由器是否可從負載平衡器連線,是由通訊埠 15999 控管。
如要取得訊息處理器的狀態,請按照下列步驟操作:
curl http://Message_Processor_IP:8082/v1/servers/self/up