Você está lendo a documentação do Apigee Edge.
Acesse a
documentação da Apigee X. info
As solicitações de API feitas pelos aplicativos clientes passam por vários componentes no Apigee Edge antes de chegar aos serviços de back-end. A maioria dos aplicativos clientes espera que as respostas a estas solicitações sejam recebidas em tempo hábil.
Para conseguir respostas rápidas, os valores de tempo limite de E/S são definidos em cada um dos componentes pelos quais as solicitações de API passam. Se algum dos componentes no fluxo levar mais tempo do que o componente anterior, o componente anterior vai atingir o tempo limite e responder com erros de tempo limite do gateway 504.
Ao configurar o tempo limite, os valores precisam ser configurados em cada um dos componentes com o máximo de cuidado. Caso contrário, isso pode levar a erros de tempo limite do gateway 504.
Este documento descreve as práticas recomendadas para configurar o tempo limite de E/S em vários componentes pelos quais as solicitações de API passam 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 de 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 de API, que é o serviço de back-end no Apigee Edge.
- Entre componentes: garanta que haja uma diferença de pelo menos 2 a 3 segundos no valor de tempo limite configurado em cada componente entre o primeiro e o último no fluxo.
- Router: é 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 Router. 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 atendidos pelo Router.
Configure (modifique) o tempo limite de E/S no Router somente quando tiver certeza de que o novo valor de tempo limite de E/S é necessário ou aplicável a todos os proxies de API em execução no Router.
- Processador de mensagens: é sempre uma boa prática configurar (modificar) o valor de 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
atendidos 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 de 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 nesta seção podem ajudar você a entender como definir corretamente os valores de tempo limite de E/S.
Cenário 1: solicitações para o Apigee Edge de aplicativos clientes diretamente
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 seguintes práticas recomendadas:
- O aplicativo cliente é o primeiro componente no 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 na ordem a seguir:
O exemplo a seguir mostra os valores de tempo limite definidos nos vários componentes de acordo com as diretrizes dadas acima para evitar problemas:
Cenário 2: solicitações para o 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 e também 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), o NGINX e assim por diante.
Exemplo de configuração da Apigee com um componente intermediário entre o cliente e o Apigee Edge e entre o 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 componentes, use as seguintes práticas recomendadas:
- O aplicativo cliente é o primeiro componente no 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 ordem a seguir:
O exemplo a seguir mostra os valores de tempo limite definidos nos vários componentes de acordo com as diretrizes dadas acima para evitar problemas: