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

Edge for Private Cloud v4.18.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