Edge para nuvem privada v. 4.17.05
Como configurar a resposta do roteador quando um processador de mensagens está indisponível durante uma verificação de integridade
O roteador faz uma verificação de integridade no processador de mensagens a cada cinco segundos para determinar se ele pode atender às solicitações de serviço. Se um processador de mensagens falhar, o roteador encaminhará automaticamente as solicitações para outro processador de mensagens.
É possível configurar como o roteador reage quando o processador de mensagens fica inativo definindo a propriedade conf_load_balancing_load.balancing.driver.nginx.server.retry no roteador. Essa propriedade usa um conjunto de valores delimitados por espaço que pode incluir:
- off: desativa a nova tentativa. O roteador retorna um código de falha após uma solicitação.
- http_599: (padrão) se o roteador receber uma resposta HTTP 599 do processador de mensagens, ele encaminhará a solicitação para o próximo processador de mensagens.
HTTP 599 é um código de resposta especial gerado por um processador de mensagens quando ele está sendo encerrado. O processador de mensagens tenta concluir todas as solicitações atuais, mas, para novas solicitações, ele responde com HTTP 599 para sinalizar ao roteador que tente novamente a solicitação no próximo processador de mensagens. - error: se ocorrer um erro ao estabelecer uma conexão com o processador de mensagens, transmitir uma solicitação para ele ou ler o cabeçalho de resposta dele, o roteador encaminhará a solicitação para o próximo processador de mensagens.
- tempo limite: se ocorrer um tempo limite ao estabelecer uma conexão com o processador de mensagens, transmitir uma solicitação para ele ou ler o cabeçalho de resposta dele, o roteador encaminhará a solicitação para o próximo processador de mensagens.
- invalid_header: se o processador de mensagens retornar uma resposta vazia ou inválida, o roteador encaminhará a solicitação para o próximo processador de mensagens.
- http_XXX: se o processador de mensagens retornar uma resposta com o código HTTP XXX, o roteador encaminhará a solicitação para o próximo processador de mensagens.
Para configurar o roteador:
- Edite o arquivo /opt/apigee/customer/application/router.properties (se o arquivo não existir, crie-o).
- Adicione a propriedade conf_load_balancing_load.balancing.driver.nginx.server.retry
conforme mostrado abaixo:
conf_load_balancing_load.balancing.driver.nginx.server.retry=http_599 error - Verifique se o arquivo de propriedades pertence ao usuário "apigee":
> chown apigee:apigee /opt/apigee/customer/application/router.properties - Reinicie o roteador:
> /opt/apigee/apigee-service/bin/apigee-service edge-router restart
Como configurar o tempo limite do roteador ao acessar processadores de mensagens como parte de uma solicitação de proxy de API
O roteador do Edge tem um tempo limite predefinido de 57 segundos ao tentar acessar um processador de mensagens como parte do processamento de uma solicitação por um proxy de API. Quando esse tempo limite expirar, o roteador tentará se conectar a outro processador de mensagens, se houver um disponível. Caso contrário, um erro será retornado.
É possível usar duas propriedades para controlar esse tempo limite:
- conf_load_balancing_load.balancing.driver.proxy.read.timeout especifica o tempo de espera, em segundos, para um único processador de mensagens. O valor padrão é de 57 segundos.
- conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout especifica o tempo de espera total para todos os processadores de mensagens, em segundos, quando a instalação do Edge tem vários processadores de mensagens. Ele tem um valor padrão do valor atual de conf_load_balancing_load.balancing.driver.proxy.read.timeout, ou 57 segundos.
Para configurar o roteador:
- Edite o arquivo /opt/apigee/customer/application/router.properties (se o arquivo não existir, crie-o).
- Defina as propriedades como mostrado abaixo:
conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout=240 - Verifique se o arquivo de propriedades pertence ao usuário "apigee":
> chown apigee:apigee /opt/apigee/customer/application/router.properties - Reinicie o roteador:
> /opt/apigee/apigee-service/bin/apigee-service edge-router restart