Como ativar/desativar a acessibilidade do processador de mensagens/roteador

É uma boa prática desativar a acessibilidade em um servidor durante a manutenção, como para reiniciar ou fazer upgrade de um servidor. Quando a acessibilidade está desativada, nenhum tráfego é direcionado para o servidor. Por exemplo, quando a acessibilidade está desativada em um processador de mensagens, os roteadores não direcionam nenhum tráfego para esse processador.

Por exemplo, para fazer upgrade de um processador de mensagens, use o seguinte procedimento:

  1. Desative a acessibilidade no processador de mensagens.
  2. Faça upgrade do processador de mensagens.
  3. Ative a acessibilidade no processador de mensagens.

Como desativar/ativar a acessibilidade em um processador de mensagens

Para desativar a acessibilidade no processador de mensagens, basta interromper o processador de mensagens:

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

O processador de mensagens processa todas as mensagens pendentes antes de ser encerrado. Todas as novas solicitações são roteadas para outros processadores de mensagens disponíveis.

Para reiniciar o processador de mensagens, use os seguintes 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

O comando wait_for_ready retorna a seguinte mensagem quando o processador de mensagens está pronto para processar mensagens:

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

Como desativar/ativar a acessibilidade em um roteador

Em um ambiente de produção, normalmente há um balanceador de carga na frente dos roteadores do Edge. Os balanceadores de carga monitoram a porta 15999 nos roteadores para garantir que a rota esteja disponível.

Configure o balanceador de carga para realizar uma verificação de integridade HTTP ou TCP no roteador usando o seguinte URL:

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

Esse URL retorna um código de resposta HTTP 200 se o roteador estiver acessível.

Para tornar um roteador inacessível, bloqueie a porta 15999 nele. Se o balanceador de carga não conseguir acessar o roteador na porta 15999, ele não encaminhará mais solicitações para o roteador. Por exemplo, é possível bloquear a porta usando o seguinte comando iptables no nó do roteador:

sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT

Para disponibilizar o roteador mais tarde, limpe as iptables:

sudo iptables -F

Talvez você esteja usando iptables para gerenciar outras portas no nó. Portanto, é preciso considerar isso ao limpar iptables ou usar iptables para bloquear a porta 15999. Se você estiver usando iptables para outras regras, use a opção -D para reverter a alteração específica:

sudo iptables -D INPUT -i eth0 -p tcp --dport 15999 -j REJECT

Realizar verificações de integridade do roteador

É possível realizar os seguintes tipos de verificações de integridade em roteadores:

  • Atividade:um sinal para o subsistema de monitoramento de que ele pode reiniciar um componente. Exemplo:
    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
  • Prontidão:determina se um roteador pode processar solicitações de clientes para um ambiente específico.

    Exemplo:

    To check both a router and MP pool's availability:
    http://router_IP:15999/{org}__{env}

    Para ver o status de um roteador, faça uma solicitação para a porta 8081 no roteador:

    curl -v http://router_IP:8081/v1/servers/self/up

    Se o roteador estiver ativo, a solicitação vai retornar "true" na resposta e HTTP 200. Essa chamada só verifica se o roteador está em execução. O controle da acessibilidade do roteador de um balanceador de carga é determinado pela porta 15999.

    Para ver o status de um processador de mensagens:

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