启用/停用服务器(消息处理器/路由器)可达性

适用于私有云的 Edge v. 4.17.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

如需稍后使路由器可用,请刷新 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://<routerIP>:8081/v1/servers/self/up

如果路由器处于启用状态,请求会在响应中返回“true”和 HTTP 200。请注意,此调用仅会检查路由器是否已启动并在运行。来自负载平衡器的路由器可达性的控制由端口 15999 决定

如需获取消息处理器的状态,请执行以下操作:

> curl http://<mpIP>:8082/v1/servers/self/up