Habilita o inhabilita la accesibilidad del router o del procesador de mensajes

Es una buena práctica inhabilitar la accesibilidad en un servidor durante el mantenimiento, como para reiniciar o actualizar el servidor. Cuando la accesibilidad está inhabilitada, el tráfico no se dirige a la servidor. Por ejemplo, cuando la accesibilidad está inhabilitada en un Message Processor, los routers no el tráfico a ese Message Processor.

Por ejemplo, para actualizar un Message Processor, puedes usar el siguiente procedimiento:

  1. Inhabilita la accesibilidad en Message Processor.
  2. Actualizar el procesador de mensajes
  3. Habilita la accesibilidad en Message Processor.

Inhabilitar o habilitar la accesibilidad en un procesador de mensajes

Para inhabilitar la accesibilidad en Message Processor, solo debes detener el Message Processor:

/opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop

Message Processor, primero procesa los mensajes pendientes antes de cerrarse. Cualquiera de las se enrutan a otros procesadores de mensajes disponibles.

Para reiniciar el procesador de mensajes, usa 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 botón El procesador está listo para procesar mensajes:

Checking if message-processor is up: message-processor is up.

Inhabilitación/habilitación de la accesibilidad en un Router

En un entorno de producción, lo habitual es que tengas 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 realizar una verificación de estado HTTP o TCP en el router usando el siguiente URL:

http://router_IP:15999/v1/servers/self/reachable

Esta URL devuelve un código de respuesta HTTP 200 si se puede acceder al router.

Para hacer que un router sea inaccesible, puedes bloquear el puerto 15999 en él. Si el balanceador de cargas está no puede acceder al router en el puerto 15999, ya no reenvía las solicitudes al router. Para Por ejemplo, puedes bloquear el puerto con el siguiente comando de 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 adelante, limpia las iptables:

sudo iptables -F

Puede que uses iptables para administrar otros puertos en el nodo, así que debes llevarlo a consideración cuando limpias iptables o las usas para bloquear el puerto 15999. Si utilizas 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 routers:

  • Funcionamiento: Una señal que se envía al subsistema de supervisión de que puede reiniciar un este 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 comprueba si el router está en funcionamiento. Control de la accesibilidad del router desde un el balanceador de cargas es determinado por el puerto 15999.

    Para obtener el estado de un Message Processor, haz lo siguiente:

    curl http://Message_Processor_IP:8082/v1/servers/self/up