Como configurar o roteador para repetir conexões com um processador de mensagens

Edge para nuvem privada v. 4.17.09

Como configurar a resposta do roteador quando um processador de mensagens não estiver disponí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. Se um processador de mensagens ficar inativo, o roteador encaminhará automaticamente as solicitações para outro processador de mensagens.

Para configurar como o roteador reage quando o processador de mensagens fica inativo, defina 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 mediante uma solicitação.
  • http_599: (padrão) se o roteador receber uma resposta HTTP 599 do processador de mensagens, ele encaminha 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 existentes, mas, para as novas solicitações, ele responde com HTTP 599 para sinalizar ao roteador que é necessário repetir a solicitação no próximo processador de mensagens.
  • error: se ocorreu um erro ao estabelecer uma conexão com o processador de mensagens, passar uma solicitação a ele ou ler o cabeçalho de resposta a partir dele, o roteador encaminha 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, passar uma solicitação a ele ou ler o cabeçalho de resposta dele, o roteador vai encaminhar a solicitação para o próximo processador de mensagens.
  • invalid_header: se o processador de mensagens retornou uma resposta vazia ou inválida, o roteador encaminha a solicitação ao próximo processador de mensagens.
  • http_XXX: se o processador de mensagens retornou uma resposta com o código HTTP XXX, o roteador encaminha a solicitação para o próximo processador de mensagens.

Para configurar o roteador:

  1. Edite o arquivo /opt/apigee/customer/application/router.properties (se ele não existir, crie-o).
  2. 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
  3. Verifique se o arquivo de propriedades pertence ao usuário "apigee":
    > chown apigee:apigee /opt/apigee/customer/application/router.properties
  4. Reinicie o roteador:
    > /opt/apigee/apigee-service/bin/apigee-service cloud-router restart

Como configurar o tempo limite do roteador ao acessar os processadores de mensagens como parte de uma solicitação de proxy de API

O roteador de borda 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 expira, o roteador tenta se conectar a outro processador de mensagens, se um estiver disponível. Caso contrário, ele retornará um erro.

É 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, de 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 de todos os processadores de mensagens, em segundos, quando sua 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:

  1. Edite o arquivo /opt/apigee/customer/application/router.properties (se ele não existir, crie-o).
  2. Defina as propriedades como mostrado abaixo:
    conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
    conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
  3. Verifique se o arquivo de propriedades pertence ao usuário "apigee":
    > chown apigee:apigee /opt/apigee/customer/application/router.properties
  4. Reinicie o roteador:
    > /opt/apigee/apigee-service/bin/apigee-service cloud-router restart