Esta é a documentação do Apigee Edge.
Acesse
Documentação da Apigee X. informações
Neste documento, explicamos como configurar o tempo limite de E/S nos roteadores do Apigee Edge.
O tempo limite de E/S no roteador representa o tempo que o roteador espera para receber uma resposta do processador de mensagens, após estabelecer a conexão e enviar a solicitação para o processador de mensagens. O valor padrão do tempo limite de E/S no roteador é de 57 segundos.
O tempo limite de E/S dos roteadores pode ser aumentado ou diminuído do valor padrão de 57 segundos com base nas suas necessidades. Ele pode ser configurado das seguintes maneiras:
- Em um host virtual
- No roteador
As propriedades a seguir controlam o tempo limite de E/S nos roteadores:
Nome da propriedade | Local | Descrição |
---|---|---|
proxy_read_timeout
|
Host virtual |
Especifica o tempo máximo que o roteador espera para receber uma resposta do depois de estabelecer a conexão e enviar a solicitação ao Processador de mensagens Se não houver resposta do processador de mensagens dentro desse tempo limite, o O tempo limite do roteador se esgotou. Por padrão, essa propriedade usa o valor definido para o
Se essa propriedade for modificada com um novo valor de tempo limite para um host virtual específico, somente os proxies de API que usam esse host virtual específico serão afetados. |
conf_load_balancing_load.balancing.driver.proxy.read.timeout
|
Roteador |
Especifica o tempo máximo que o roteador espera para receber uma resposta do depois de estabelecer a conexão e enviar a solicitação ao Processador de mensagens Se não houver resposta do processador de mensagens dentro desse tempo limite, o O tempo limite do roteador se esgotou. Essa propriedade é usada para todos os hosts virtuais no roteador. O valor padrão dessa propriedade é 57 segundos. Você pode modificar essa propriedade conforme explicado nas
Como configurar o tempo limite de E/S nos roteadores abaixo ou substitua
esse valor definindo a propriedade É possível definir o intervalo de tempo dessa propriedade como algo diferente de segundos usando o método seguinte notação: ms: milliseconds s: seconds (default) m: minutes h: hours d: days w: weeks M: months (length of 30 days) y: years (length of 365 days) |
conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout
|
Roteador |
Especifica o tempo total que o roteador espera para receber uma resposta de todas as mensagens Processadores, após estabelecer a conexão e enviar a solicitação para cada mensagem Processador Isso se aplica quando a instalação do Edge tem vários processadores de mensagens e A nova tentativa é ativada quando ocorrem erros. Ele tem os seguintes valores:
Assim como acontece com |
Antes de começar
Antes de usar as etapas deste documento, é preciso entender os seguintes tópicos:
- Se você não conhece as propriedades do host virtual, leia Referência da propriedade de host virtual.
- Se você não sabe como configurar propriedades para o Edge em uma nuvem privada, leia Como configurar Edge (em inglês).
- Siga as Práticas recomendadas para configurar o tempo limite de E/S.
Configurar o tempo limite de E/S no host virtual
Esta seção explica como configurar o tempo limite de E/S no host virtual associado a uma
organização e ambiente. O tempo limite de E/S pode ser configurado no host virtual por meio do
propriedade proxy_read_timeout
, que representa o valor do tempo limite de E/S em segundos.
É possível configurar o host virtual usando um dos seguintes métodos:
- interface do Edge
- API Edge
interface do Edge
Para configurar o host virtual usando a interface do Edge, faça o seguinte:
- Faça login na IU do Edge.
- Acesse Administrador > Hosts virtuais.
- Selecione o Ambiente específico em que você quer fazer essa alteração.
- Selecione o host virtual específico para o qual você gostaria de configurar o novo Valor de tempo limite de E/S.
- Em Propriedades, atualize o valor em segundos do Tempo limite de leitura do proxy.
Por exemplo, se você quiser mudar o tempo limite para 120 segundos, digite 120 como mostrado no figura a seguir:
- Salve a alteração.
API Edge
Para configurar o host virtual usando a API Edge, faça o seguinte:
- Obtenha a configuração atual do host virtual usando o
Acesse a API Virtual Host como mostrado abaixo:
Usuário da nuvem pública
curl -v -X GET https//api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
Usuário da nuvem privada
curl -v -X GET http://<management-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
Em que:
{organization-name} é o nome da organização.
{environment-name} é o nome do ambiente;
{virtualhost-name} é o nome do host virtual.
Exemplo de configuração do virtualhost
{ "hostAliases": [ "api.myCompany,com" ], "interfaces": [], "listenOptions": [], "name": "secure", "port": "443", "retryOptions": [], "sSLInfo": { "ciphers": [], "clientAuthEnabled": "false", "enabled": "true", "ignoreValidationErrors": false, "keyAlias": "myCompanyKeyAlias", "keyStore": "ref://myCompanyKeystoreref", "protocols": [] }, "useBuiltInFreeTrialCert": false }
- Adicione a propriedade
proxy_read_timeout
à configuração do host virtual Payload JSON emproperties
com o valor em segundos.Por exemplo, para mudar o tempo limite de E/S para 120 segundos, adicione
properties
. como mostrado abaixo:Exemplo de configuração de host virtual atualizada
{ "hostAliases": [ "api.myCompany,com", ], "interfaces": [], "listenOptions": [], "name": "secure", "port": "443", "retryOptions": [], "properties": { "property": [ { "name": "proxy_read_timeout", "value": "120" } ] }, "sSLInfo": { "ciphers": [], "clientAuthEnabled": "false", "enabled": "true", "ignoreValidationErrors": false, "keyAlias": "myCompanyKeyAlias", "keyStore": "ref://myCompanyKeystoreref", "protocols": [] }, "useBuiltInFreeTrialCert": false }
- Salve a configuração de host virtual atualizada em um arquivo. Exemplo:
virtualhost-payload.json
- Atualize a configuração
virtualhost
com a mudança usando o método Atualize uma API de host virtual desta forma:Usuário da nuvem pública
curl -v -X POST Content-Type: application/json https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u <username>
Usuário da nuvem privada
curl -v -X POST Content-Type: application/json http://<management-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u <username>
Em que:
{organization-name} é o nome da organização.
{environment-name} é o nome do ambiente;
{virtualhost-name} é o nome do host virtual.
Como verificar o tempo limite de E/S em hosts virtuais
Esta seção explica como verificar se o tempo limite de E/S foi modificado com sucesso no host virtual usando a API Edge.
- Execute o
Consiga a API virtual host para receber a configuração
virtualhost
, conforme mostrado abaixo:Usuário da nuvem pública
curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
Usuário da nuvem privada
curl -v -X GET http://<management server-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
Em que:
{organization-name} é o nome da organização.
{environment-name} é o nome do ambiente;
{virtualhost-name} é o nome do host virtual.
- Verifique se a propriedade
proxy_read_timeout
foi definida com o novo valor.Exemplo de configuração de host virtual atualizada
{ "hostAliases": [ "api.myCompany,com", ], "interfaces": [], "listenOptions": [], "name": "secure", "port": "443", "retryOptions": [], "properties": { "property": [ { "name": "proxy_read_timeout", "value": "120" } ] }, "sSLInfo": { "ciphers": [], "clientAuthEnabled": "false", "enabled": "true", "ignoreValidationErrors": false, "keyAlias": "myCompanyKeyAlias", "keyStore": "ref://myCompanyKeystoreref", "protocols": [] }, "useBuiltInFreeTrialCert": false }
No exemplo acima, o
proxy_read_timeout
foi definido com o novo valor de 120 segundos. - Se você ainda vê o valor antigo de
proxy_read_timeout,
, verifique se seguir todas as etapas descritas em Como configurar o tempo limite de E/S no host virtual corretamente. Se você tiver pulado alguma etapa, repita-a corretamente. - Se mesmo assim você não conseguir modificar o tempo limite de E/S, entre em contato com o suporte do Apigee Edge.
Como configurar o tempo limite de E/S nos roteadores
Esta seção explica como configurar o tempo limite de E/S nos roteadores. O tempo limite de E/S pode ser
configurado na propriedade do roteador
conf_load_balancing_load.balancing.driver.proxy.read.timeout
, que representa
o valor do tempo limite de E/S em segundos.
Para configurar o tempo limite de E/S nos roteadores, faça o seguinte:
- Na máquina do roteador, abra o arquivo a seguir em um editor. Se ainda não existir, crie-o.
/opt/apigee/customer/application/router.properties
Por exemplo, para abrir o arquivo com
vi
, digite o seguinte comando:vi /opt/apigee/customer/application/router.properties
- Adicione uma linha no seguinte formato ao arquivo
properties
, substituindo um paratime_in_seconds
: - Salve as alterações.
- Verifique se esse arquivo de propriedades pertence ao usuário
apigee
, conforme mostrado abaixo:chown apigee:apigee /opt/apigee/customer/application/router.properties
- Reinicie o roteador como mostrado abaixo:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- Se você tiver mais de um roteador, repita as etapas acima em todos eles.
conf_load_balancing_load.balancing.driver.proxy.read.timeout=time_in_seconds
Por exemplo, para alterar o tempo limite de E/S no roteador para 120 segundos, adicione a seguinte linha:
conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
Você também pode modificar o tempo limite de E/S em minutos. Por exemplo, para alterar o tempo limite para dois minutos, adicione a seguinte linha:
conf_load_balancing_load.balancing.driver.proxy.read.timeout=2m
Como verificar o tempo limite de E/S nos roteadores
Esta seção explica como verificar se o tempo limite de E/S foi modificado com sucesso no entre os Cloud Routers.
Mesmo que você use o token
conf_load_balancing_load.balancing.driver.proxy.read.timeout
para definir o tempo limite de E/S.
no roteador, você precisa verificar se a propriedade proxy_read_timeout
tem
com o novo valor.
- Pesquise a propriedade
proxy_read_timeout
na/opt/nginx/conf.d
e verifique se ele foi definido com o novo valor da seguinte forma:grep -ri "proxy_read_timeout" /opt/nginx/conf.d
- Se o novo valor de tempo limite de E/S for definido com sucesso no roteador, o comando acima
mostra o novo valor em todos os arquivos de configuração do host virtual.
Veja a seguir o resultado de amostra do comando
grep
acima quando o O tempo limite de E/S é de 120 segundos:/opt/nginx/conf.d/0-default.conf:proxy_read_timeout 120; /opt/nginx/conf.d/0-edge-health.conf:proxy_read_timeout 1s;
No exemplo de saída acima, observe que a propriedade
proxy_read_timeout
foi definido com o novo valor 120 em0-default.conf
, que é o de configuração do host virtual padrão. Isso indica que o tempo limite de E/S foi configurado para 120 segundos no roteador. - Se você ainda vir o valor antigo da propriedade
proxy_read_timeout
, Verifique se você seguiu todas as etapas descritas na Configurando o tempo limite de E/S nos roteadores corretamente. Se você tiver perdeu qualquer etapa, repita todas as etapas novamente corretamente. - Se mesmo assim você não conseguir modificar o tempo limite de E/S, entre em contato com o suporte do Apigee Edge.
E agora?
Saiba mais sobre como configurar o tempo limite de E/S no processador de mensagens.