Como reiniciar roteadores e processadores de mensagens sem impacto no tráfego

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

Este documento explica como reiniciar roteadores e processadores de mensagens (MPs, na sigla em inglês) sem afetar o tráfego de API recebido. Talvez seja necessário reiniciar os roteadores e os MPs em determinadas circunstâncias. Confira alguns exemplos:

  • Quando um keystore mencionado diretamente no host virtual, o servidor ou endpoint de destino é atualizado sem o uso de referências.
  • Quando os proxies de API são parcialmente implantados em alguns MPs.

Antes de começar

Se você não conhece os roteadores e processadores de mensagens, leia Visão geral do Edge para nuvem privada.

Reinicialização contínua de roteadores sem impacto no tráfego

Esta seção descreve as etapas usadas para reiniciar os roteadores sem afetar o tráfego de entrada da API.

  1. Faça login no roteador que precisa ser reiniciado.
  2. Bloqueie a porta de verificação de integridade no roteador com o comando a seguir. Isso garante que o roteador seja considerado não íntegro e nenhum tráfego seja roteado para ele.
    sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
        
  3. Antes de reiniciar o roteador, aguarde dois minutos para que o tráfego em andamento seja processado sem problemas. Para fazer isso, execute o comando sleep da seguinte maneira:
    for i in {001..120}; do sleep 1; printf "\r ${i}"; done
        
  4. Interrompa o serviço Apigee Monit da seguinte maneira:
    apigee-service apigee-monit stop
        
  5. Interrompa o serviço Router da Apigee da seguinte maneira:
    apigee-service edge-router stop
        
  6. Inicie o serviço Router da Apigee da seguinte maneira:
    apigee-service edge-router start
        
  7. Aguarde até que o serviço Router da Apigee seja iniciado e esteja pronto para processar o tráfego de entrada usando o seguinte comando:
    apigee-service edge-router wait_for_ready
        
  8. Inicie o serviço Apigee Monit da seguinte maneira:
    apigee-service apigee-monit start
        
  9. Limpe as tabelas de IP para desbloquear a porta de verificação de integridade 15999 e permitir que o roteador processe o tráfego novamente executando os seguintes comandos:
    sudo iptables -F
    sudo iptables -L
        
sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
for i in {001..120}; do sleep 1; printf "\r ${i}"; done
apigee-service apigee-monit stop
apigee-service edge-router stop
apigee-service edge-router start
apigee-service edge-router wait_for_ready
apigee-service apigee-monit start
sudo iptables -F
sudo iptables -L

Reinicialização contínua dos processadores de mensagens sem impacto no tráfego

Esta seção descreve as etapas usadas para reiniciar os processadores de mensagens (MPs, na sigla em inglês) sem afetar o tráfego de entrada da API.

  1. Faça login no processador de mensagens que precisa ser reiniciado.
  2. Identifique a porta de verificação de integridade do processador de mensagens usando o seguinte comando:
    curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")'
        
  3. Bloqueie a porta de verificação de integridade (identificada na etapa 2) no processador de mensagens. Isso garante que o processador de mensagens seja considerado não íntegro e nenhum tráfego será roteado para ele.
    sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECT
        

    Em que port # é o número da porta retornado pelo comando executado na etapa 2.

  4. Aguarde dois minutos para garantir que o tráfego em andamento seja processado sem problemas antes de reiniciar o processador de mensagens. Para fazer isso, execute o comando sleep da seguinte maneira:
    for i in {001..120}; do sleep 1; printf "\r ${i}"; done
        
  5. Interrompa o serviço Apigee Monit da seguinte maneira:
    apigee-service apigee-monit stop
        
  6. Interrompa o serviço Processador de mensagens da Apigee da seguinte maneira:
    apigee-service edge-message-processor stop
        
  7. Inicie o serviço Processador de mensagens da Apigee da seguinte maneira:
    apigee-service edge-message-processor start
        
  8. Aguarde até que o serviço Processador de mensagens da Apigee seja iniciado e esteja pronto para processar o tráfego de entrada usando o seguinte comando:
    apigee-service edge-message-processor wait_for_ready
        
  9. Inicie o serviço Apigee Monit da seguinte maneira:
    apigee-service apigee-monit start
        
  10. Limpe as tabelas de IP para desbloquear a porta de verificação de integridade e permitir que o processador de mensagens processe o tráfego novamente executando os comandos abaixo:
    sudo iptables -F
    sudo iptables -L
        
curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")'

sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECT
for i in {001..120}; do sleep 1; printf "\r ${i}"; done
apigee-service apigee-monit stop
apigee-service edge-message-processor stop
apigee-service edge-message-processor start
apigee-service edge-message-processor wait_for_ready
apigee-service apigee-monit start
sudo iptables -F
sudo iptables -L

Em que port # é o número da porta retornado pelo comando executado na etapa 2.