Configure o limite de tempo limite do destino no Apigee Hybrid

Vista geral

O Apigee Hybrid suporta o destino io.timeout.millis até 55 000 milissegundos por predefinição. Consulte a especificação de transporte do ponto final de destino.

Para aumentar o limite de tempo limite do destino para pontos finais de destino lentos, faça as seguintes alterações à configuração de tempo de execução:

  • Configure o virtualhosts[].requestTimeout entre o Istio e o Message Processor(MP). Consulte virtualhosts
  • Configure a conf_http_HTTPTransport.io.timeout.millis entre o MP e os alvos

Pode configurar estas definições para ambientes individuais ou para todos os ambientes na sua instalação.

Configure o anfitrião virtual para alterar o limite de tempo limite do pedido

O requestTimeout é o tempo máximo (em segundos) definido num anfitrião virtual para um pedido ser processado pelo MP.

Para configurar o limite de tempo limite do pedido, pode usar as propriedades virtualhosts[].requestTimeout. Faça as seguintes alterações ao ficheiro overrides.yaml:

  1. Adicione a seguinte estrofe ao ficheiro overrides.yaml:
    virtualhosts:
    - name: ENV_GROUP_NAME
      requestTimeout: 600   # Increase requestTimeout to 600 seconds
    
  2. Tem de atualizar um grupo de ambientes (virtualhost) de cada vez. Especifique o grupo do ambiente com --set envgroup=ENV_GROUP_NAME. Repita os seguintes comandos para cada grupo de ambientes mencionado no ficheiro overrides.yaml:

    Execução de ensaio:

    helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set envgroup=ENV_GROUP_NAME \
      -f OVERRIDES_FILE \
      --dry-run=server
    

    ENV_GROUP_RELEASE_NAME é o nome com o qual instalou anteriormente o gráfico apigee-virtualhost. Normalmente, é ENV_GROUP_NAME.

    Atualize o gráfico:

    helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set envgroup=ENV_GROUP_NAME \
      -f OVERRIDES_FILE
    
  3. Verifique o estado do ApigeeRoute (AR).

    A instalação do virtualhosts cria o ApigeeRouteConfig (ARC), que cria internamente o ApigeeRoute (AR) assim que o observador do Apigee extrai detalhes relacionados com o grupo de ambientes do plano de controlo. Por conseguinte, verifique se o estado do AR correspondente está em execução:

    kubectl -n APIGEE_NAMESPACE get arc
    
    NAME                                STATE   AGE
    apigee-org1-dev-egroup                       2d
    kubectl -n APIGEE_NAMESPACE get ar
    
    NAME                                        STATE     AGE
    apigee-org1-dev-egroup-cb9a8a                running   2d

Configure ambientes individuais para alterar o limite de tempo limite do alvo

Se os proxies com pontos finais de destino lentos estiverem apenas num ou em alguns ambientes na sua instalação, pode configurar os ambientes individualmente para alterar o limite de tempo limite de destino. Isto evita adicionar impacto a outros ambientes.

Para configurar ambientes individuais de modo a alterar o limite de tempo limite do destino, pode usar as propriedades envs[].components.runtime. Faça as seguintes alterações ao ficheiro overrides.yaml:

  1. Adicione a seguinte secção ao ficheiro overrides.yaml:
    envs:
    - name: ENV_NAME
      components.
        runtime:
          cwcAppend:
            conf_http_HTTPTransport.io.timeout.millis: 600000   # Increase io.timeout.millis to 600000 milliseconds
    
  2. Tem de atualizar um ambiente de cada vez. Atualize o gráfico apigee-env para cada ambiente que está a atualizar:

    Execução de ensaio:

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE \
      --dry-run=server
    
    • ENV_RELEASE_NAME é um nome usado para monitorizar a instalação e as atualizações do gráfico apigee-env. Este nome tem de ser exclusivo dos outros nomes de lançamentos do Helm na sua instalação. Normalmente, este valor é igual a ENV_NAME. No entanto, se o seu ambiente tiver o mesmo nome que o seu grupo de ambientes, tem de usar nomes de lançamentos diferentes para o ambiente e o grupo de ambientes, por exemplo, dev-env-release e dev-envgroup-release. Para mais informações sobre lançamentos no Helm, consulte Três grandes conceitos class="external" na documentação do Helm.
    • ENV_NAME é o nome do ambiente que está a atualizar.
    • OVERRIDES_FILE é o ficheiro overrides.yaml editado.
  3. Atualize o gráfico:
    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE
    
  4. Verifique se está em funcionamento verificando o estado do ambiente respetivo:

    kubectl -n APIGEE_NAMESPACE get apigeeenv
    
    NAME                          STATE       AGE   GATEWAYTYPE
    my-org-my-env-123abc          running     2d

Configure todos os ambientes para alterar o limite de tempo limite do destino

As alterações à secção runtime alteram o limite de tempo limite do alvo para todos os ambientes na sua instalação. Pode substituir estas definições para ambientes individuais com as propriedades runtime.

  1. Adicione a seguinte secção ao ficheiro overrides.yaml:
    runtime:
      cwcAppend:
        conf_http_HTTPTransport.io.timeout.millis: 600000   # Increase io.timeout.millis to 600000 milliseconds
    
  2. Atualize o gráfico apigee-env para cada ambiente na sua instalação:

    Execução de ensaio:

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE \
      --dry-run=server
    

    Atualize o gráfico:

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE