您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档。 信息
本文档介绍如何在不影响传入 API 流量的情况下重启路由器和消息处理器 (MP)。在某些情况下,您可能必须重启路由器和 MP。下面举例说明了一些国家/地区的管制商品或服务:
- 当虚拟主机中直接引用的密钥库时,目标服务器或目标端点会在不使用引用的情况下进行更新。
- 在几个 MP 上部分部署 API 代理时。
准备工作
如果您不熟悉路由器和消息处理器,请参阅 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
在不影响流量的情况下滚动重启消息处理器
本部分介绍在不影响传入 API 流量的情况下重启消息处理器 (MP) 的步骤。
- 登录需要重启的消息处理器。
-
使用以下命令确定消息处理器的健康检查端口:
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 Message Processor 服务:
apigee-service edge-message-processor stop
- 按如下方式部署 Apigee 消息处理器服务:
apigee-service edge-message-processor start
-
等待 Apigee Message Processor 服务已启动并准备好使用以下命令处理传入流量:
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 步执行的命令返回的端口号。