啟用/停用訊息處理工具/路由器的可連線性

私有雲 4.19.01 版本

建議您在維護期間 (例如伺服器重新啟動或升級) 停用伺服器的可連性。停用這項功能時,系統不會將任何流量導向伺服器。舉例來說,如果您停用訊息處理器的可連性,路由器就不會將任何流量導向該訊息處理工具。

以升級訊息處理器時,您可以使用下列程序:

  1. 停用訊息處理器的可連性。
  2. 升級訊息處理工具。
  3. 啟用訊息處理器的可連性。

停用/啟用訊息處理器的可連性

如要停用訊息處理工具的可連性,您可以直接停止訊息處理工具:

/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 或 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

日後如要使用路由器,請清除 IP 位址:

sudo iptables -F

您可能使用 iptable 管理節點中的其他通訊埠,因此在清除 iptable 或使用 iptable 封鎖通訊埠 15999 時,您必須考量到這一點。如果您將 iptable 用於其他規則,可以使用 -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