您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
本文說明如何重新啟動路由器和訊息處理器 (MP),而不影響傳入的 API 流量。在某些情況下,您可能需要重新啟動路由器和 MP。 以下列舉幾個例子:
- 直接在虛擬主機、目標伺服器或目標端點中參照的 Keystore 已更新,但未使用參照。
- API Proxy 部分部署在幾個 MP 上。
事前準備
如果您不熟悉路由器和訊息處理器,請參閱 Edge for Private Cloud 總覽。
路由器輪流重新啟動,不會影響流量
本節說明如何重新啟動路由器,而不影響傳入的 API 流量。
- 登入需要重新啟動的路由器。
-
使用下列指令封鎖路由器上的健康狀態檢查通訊埠。這樣可確保路由器會被視為不健康,且不會有任何流量轉送至這個路由器。
sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT -
等待兩分鐘,確保所有進行中的流量都能順利處理,再重新啟動路由器。如要這麼做,請執行下列
sleep指令:for i in {001..120}; do sleep 1; printf "\r ${i}"; done
-
依下列方式停止 Apigee Monit 服務:
apigee-service apigee-monit stop -
依下列方式停止 Apigee Router 服務:
apigee-service edge-router stop -
按照下列步驟啟動 Apigee Router 服務:
apigee-service edge-router start -
等待 Apigee Router 服務啟動,並準備好使用下列指令處理傳入流量:
apigee-service edge-router wait_for_ready -
按照下列步驟啟動 Apigee Monit 服務:
apigee-service apigee-monit start -
清除 IP 表格,解除封鎖健康狀態檢查通訊埠 15999,並執行下列指令,允許路由器再次處理流量:
sudo iptables -F sudo iptables -L
sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT for i in {001..120}; do sleep 1; printf "\r ${i}"; done apigee-service apigee-monit stop apigee-service edge-router stop apigee-service edge-router start apigee-service edge-router wait_for_ready apigee-service apigee-monit start sudo iptables -F sudo iptables -L
在不影響流量的情況下,以輪流方式重新啟動訊息處理器
本節說明如何重新啟動 Message Processor (MP),而不影響傳入的 API 流量。
- 登入需要重新啟動的訊息處理器。
-
使用下列指令找出訊息處理器的健康狀態檢查通訊埠:
curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")' -
在訊息處理器上封鎖健康狀態檢查通訊埠 (步驟 2 中識別的通訊埠)。這可確保系統將訊息處理器視為不健康,且不會將任何流量轉送至這個訊息處理器。
sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECT其中 port # 是在步驟 2 中執行的指令傳回的連接埠號碼。
-
請等待兩分鐘,確保所有進行中的流量都能順利處理,再重新啟動訊息處理器。如要這麼做,請執行下列
sleep指令:for i in {001..120}; do sleep 1; printf "\r ${i}"; done
-
依下列方式停止 Apigee Monit 服務:
apigee-service apigee-monit stop -
依下列步驟停止 Apigee 訊息處理器服務:
apigee-service edge-message-processor stop - 啟動 Apigee 訊息處理器服務,方法如下:
apigee-service edge-message-processor start -
請等待 Apigee 訊息處理器 服務啟動,並準備好使用下列指令處理傳入流量:
apigee-service edge-message-processor wait_for_ready -
按照下列步驟啟動 Apigee Monit 服務:
apigee-service apigee-monit start - 清除 IP 表格,解除封鎖健康狀態檢查通訊埠,並允許訊息處理器再次處理流量,請執行下列指令:
sudo iptables -F sudo iptables -L
curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")' sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECT for i in {001..120}; do sleep 1; printf "\r ${i}"; done apigee-service apigee-monit stop apigee-service edge-message-processor stop apigee-service edge-message-processor start apigee-service edge-message-processor wait_for_ready apigee-service apigee-monit start sudo iptables -F sudo iptables -L
其中 port # 是在步驟 2 中執行的指令傳回的連接埠號碼。