É 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:
- Desative a acessibilidade no processador de mensagens.
- Fazer upgrade do processador de mensagens.
- 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