É 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:
- Desative a acessibilidade no processador de mensagens.
- Faça 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 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_readyO 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