Você está visualizando a documentação do Apigee Edge.
Acesse a
documentação da
Apigee X. info
As solicitações de API feitas pelos aplicativos cliente fluem por vários componentes no Apigee Edge antes de chegarem aos serviços de back-end. A maioria dos aplicativos clientes espera que as respostas a essas solicitações sejam recebidas em tempo hábil.
Para receber respostas em tempo hábil, os valores de tempo limite de E/S são definidos em cada um dos componentes por onde as solicitações da API passam. Se algum dos componentes no fluxo levar mais tempo do que o componente anterior, o componente anterior vai expirar e responder com erros de tempo limite de gateway 504.
Ao configurar o tempo limite, os valores precisam ser definidos em cada um dos componentes com muito cuidado, caso contrário, isso pode levar a erros de tempo limite 504 do gateway.
Este documento descreve as práticas recomendadas para configurar o tempo limite de E/S em vários componentes por onde as solicitações de API fluem no Apigee Edge.
Práticas recomendadas para configurar o tempo limite de E/S
Considere as práticas recomendadas a seguir ao configurar o tempo limite de E/S:
- Primeiro componente:sempre use o tempo limite mais alto no primeiro componente do fluxo de solicitação da API, que é o aplicativo cliente no Apigee Edge.
- Último componente:sempre use o tempo limite mais baixo no último componente do fluxo de solicitação da API, que é o serviço de back-end no Apigee Edge.
- Entre componentes:verifique se há uma diferença de pelo menos dois a três segundos no valor de tempo limite configurado em cada componente entre o primeiro e o último componente no fluxo.
- Roteador:é sempre uma boa prática configurar (modificar) o valor de tempo limite de E/S para um host virtual específico, em vez de configurá-lo no roteador. Isso garante que o novo valor de tempo limite afete apenas os proxies de API que estão usando o host virtual específico e não todos os proxies de API veiculados pelo roteador.
Configure (modifique) o tempo limite de E/S no roteador somente quando tiver certeza de que o novo valor do tempo limite de E/S é necessário ou aplicável a todos os proxies de API em execução no roteador.
- Processador de mensagens:é sempre uma boa prática configurar (modificar) o valor do tempo limite de E/S
para um proxy de API específico, em vez de configurá-lo no processador de mensagens. Isso
garante que o novo valor de tempo limite afete apenas o proxy de API específico e não todos os proxies
de API veiculados pelo processador de mensagens.
Configure (modifique) o tempo limite de E/S no processador de mensagens somente quando tiver certeza de que o novo valor do tempo limite de E/S é necessário ou aplicável a todos os proxies de API em execução no processador de mensagens.
Exemplos de cenários
Os cenários desta seção podem ajudar você a entender como definir corretamente os valores de tempo limite de E/S.
Cenário 1: solicitações ao Apigee Edge diretamente de aplicativos clientes
Esta seção descreve as práticas recomendadas a serem seguidas ao configurar os valores de tempo limite em uma configuração do Apigee Edge em que não há componentes intermediários entre o aplicativo cliente e o Apigee Edge e entre o Apigee Edge e o servidor de back-end.
Exemplo de configuração da Apigee sem componentes intermediários
Se o Apigee Edge estiver configurado conforme mostrado no diagrama acima, sem componentes intermediários, use as práticas recomendadas a seguir:
- O aplicativo cliente é o primeiro componente do fluxo. O valor do tempo limite mais alto precisa ser definido no cliente.
- O servidor de back-end é o último componente no fluxo. O valor do tempo limite mais baixo precisa ser definido no servidor de back-end.
- Configure os valores de tempo limite em cada um dos componentes na seguinte ordem:
O exemplo a seguir mostra os valores de tempo limite definidos nos vários componentes de acordo com as diretrizes fornecidas acima para evitar problemas:
Cenário 2: solicitações ao Apigee Edge de aplicativos clientes por componentes intermediários
Esta seção descreve as práticas recomendadas a serem seguidas ao configurar os valores de tempo limite em uma configuração do Apigee Edge em que há um ou mais componentes intermediários entre o aplicativo cliente e o Apigee Edge, além de entre o Apigee Edge e o servidor de back-end.
Os componentes intermediários podem ser um balanceador de carga, uma rede de fornecimento de conteúdo (CDN), NGINX e assim por diante.
Exemplo de configuração da Apigee com um componente intermediário entre o cliente e a Apigee Edge e entre a Apigee Edge e o servidor de back-end
Se o Apigee Edge estiver configurado conforme mostrado no diagrama acima, com um ou mais componentes intermediários, use as seguintes práticas recomendadas:
- O aplicativo cliente é o primeiro componente do fluxo. O valor de tempo limite mais alto precisa ser definido no cliente.
- O servidor de back-end é o último componente no fluxo. O valor de tempo limite mais baixo precisa ser definido no servidor de back-end.
- Configure os valores de tempo limite em cada um dos componentes, incluindo os intermediários, na seguinte ordem:
O exemplo a seguir mostra os valores de tempo limite definidos nos vários componentes de acordo com as diretrizes fornecidas acima para evitar problemas: