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 uma reinicialização ou upgrade do 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 tráfego para esse processador de mensagens.

Por exemplo, para atualizar um processador de mensagens, você pode usar o seguinte procedimento:

  1. Desative a acessibilidade no processador de mensagens.
  2. Fazer 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 primeiro processa todas as mensagens pendentes antes de desligar. 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 de borda. Os balanceadores de carga monitoram a porta 15999 nos roteadores para garantir que a rota esteja disponível.

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

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

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

Para tornar um roteador inacessível, bloqueie a porta 15999 dele. Se o balanceador de carga não conseguir acessar o roteador na porta 15999, ele não vai mais encaminhar solicitações para o roteador. Por exemplo, você pode 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 o iptables:

sudo iptables -F

Talvez você esteja usando o iptables para gerenciar outras portas no nó. Portanto, leve isso em consideração ao limpar o iptables ou usá-lo para bloquear a porta 15999. Se você estiver usando iptables para outras regras, poderá usar 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

Você pode 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 saber o status de um roteador, faça uma solicitação para a porta 8081 dele:

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

    Se o roteador estiver ativo, a solicitação retornará "true" na resposta e em HTTP 200. Essa chamada verifica apenas 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