Se recomienda inhabilitar la accesibilidad en un servidor durante el mantenimiento, como durante un reinicio o una actualización del servidor. Cuando la accesibilidad está inhabilitada, no se dirige el tráfico al servidor. Por ejemplo, cuando se inhabilita la accesibilidad en un procesador de mensajes, los routers no dirigirán el tráfico a ese procesador.
Por ejemplo, para actualizar un Message Processor, puedes usar el siguiente procedimiento:
- Inhabilitar la accesibilidad en Message Processor
- Actualiza Message Processor.
- Habilita la accesibilidad en Message Processor.
Cómo inhabilitar o habilitar la accesibilidad en un Message Processor
Para inhabilitar la accesibilidad en Message Processor, puedes detener Message Processor:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop
Message Processor procesa primero los mensajes pendientes antes de apagarse. Las solicitudes nuevas se enrutan a otros procesadores de mensajes disponibles.
Para reiniciar Message Processor, use los siguientes comandos:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor start
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor wait_for_ready
El comando wait_for_ready
muestra el siguiente mensaje cuando el procesador de mensajes está listo para procesar los mensajes:
Checking if message-processor is up: message-processor is up.
Cómo inhabilitar o habilitar la accesibilidad en un router
Por lo general, en un entorno de producción, tiene un balanceador de cargas frente a los routers perimetrales. Los balanceadores de cargas supervisan el puerto 15999 en los routers para garantizar que la ruta esté disponible.
Configura el balanceador de cargas para que realice una verificación de estado HTTP o TCP en el router mediante la siguiente URL:
http://router_IP:15999/v1/servers/self/reachable
Esta URL muestra un código de respuesta HTTP 200 si se puede acceder al router.
Para que no se pueda acceder a un router, bloquea el puerto 15999 del router. Si el balanceador de cargas no puede acceder al router en el puerto 15999, ya no reenvía las solicitudes al router. Por ejemplo, puedes bloquear el puerto mediante el siguiente comando iptables en el nodo del router:
sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
Para que el router esté disponible más tarde, vacía iptables:
sudo iptables -F
Es posible que estés usando iptables para administrar otros puertos en el nodo, por lo que debes tenerlo en cuenta cuando vacías iptables o usas iptables para bloquear el puerto 15999. Si usas iptables para otras reglas, puedes usar la opción -D a fin de revertir el cambio específico:
sudo iptables -D INPUT -i eth0 -p tcp --dport 15999 -j REJECT
Realiza verificaciones de estado del router
Puedes realizar los siguientes tipos de verificaciones de estado en los routers:
- En funcionamiento: Una señal para el subsistema de supervisión de que puede reiniciar un componente. Por ejemplo:
To check a router's liveness: http://router_IP:8081/v1/servers/self/up To check a load balancer's liveness: http://router_IP:15999/v1/servers/self/reachable
- Preparación: Determina si un router puede procesar las solicitudes de los clientes para un entorno en particular.
Por ejemplo:
To check both a router and MP pool's availability: http://router_IP:15999/{org}__{env}
Para obtener el estado de un router, realiza una solicitud al puerto 8081 en el router:
curl -v http://router_IP:8081/v1/servers/self/up
Si el router está activo, la solicitud muestra "true" en la respuesta y HTTP 200. Ten en cuenta que esta llamada solo verifica si el router está en funcionamiento. El puerto 15999 determina el control de la accesibilidad del router desde un balanceador de cargas.
Para obtener el estado de un procesador de mensajes, haga lo siguiente:
curl http://Message_Processor_IP:8082/v1/servers/self/up