Como configurar o tempo limite do sinal de atividade em processadores de mensagens

Você está lendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X
.info

Este documento explica como configurar o tempo limite de sinal de atividade para os processadores de mensagens do Apigee Edge.

O tempo limite de sinal de atividade no processador de mensagens permite que uma única conexão TCP envie e receba várias solicitações/respostas HTTP do/para o servidor de back-end, em vez de abrir uma nova conexão para cada par de solicitação/resposta.

O valor padrão da propriedade de tempo limite de sinal de atividade no processador de mensagens é de 60 segundos. Esse período de tempo limite é aplicável aos servidores de back-end configurados na configuração do endpoint de destino e na política ServiceCallout do proxy de API.

O tempo limite de sinal de atividade para processadores de mensagens pode ser aumentado ou diminuído do valor padrão de 60 segundos com base nas suas necessidades. Ele pode ser configurado das seguintes maneiras:

  • No proxy de API
    • No endpoint de destino
    • Na política ServiceCallout
  • No processador de mensagens

As propriedades a seguir controlam o tempo limite de sinal de atividade nos processadores de mensagens:

Nome da propriedade Local Descrição
keepalive.timeout.millis Proxy de API:
  • Endpoint de destino
  • Política ServiceCallout

Esse é o tempo máximo de inatividade em que o processador de mensagens permite que uma única conexão TCP envie e receba várias solicitações/respostas HTTP, em vez de abrir uma nova conexão para cada par de solicitação/resposta.

Por padrão, essa propriedade usa o valor definido para a HTTPClient.keepalive.timeout.millis propriedade no processador de mensagens, em que o valor padrão é de 60 segundos.

Se essa propriedade for modificada com um novo valor de tempo limite para o servidor de destino usado no endpoint de destino ou na ServiceCallout política no proxy de API específico, então o tempo de atividade será afetado apenas para esse servidor de destino específico.

HTTPClient.keepalive.timeout.millis Processador de mensagens

Esse é o tempo máximo de inatividade em que o processador de mensagens permite que uma única conexão TCP envie e receba várias solicitações/respostas HTTP, em vez de abrir uma nova conexão para cada par de solicitação/resposta.

Essa propriedade é usada para todos os proxies de API em execução nesse processador de mensagens.

O valor padrão dessa propriedade é de 60 segundos.

É possível modificar essa propriedade conforme explicado em Como configurar o tempo limite de sinal de atividade nos processadores de mensagens abaixo ou substituir esse valor definindo a keepalive.timeout.millis propriedade no nível do proxy de API.

Antes de começar

Antes de usar as etapas neste documento, entenda os seguintes tópicos:

Como configurar o tempo limite de sinal de atividade no proxy de API

O tempo limite de sinal de atividade pode ser configurado no proxy de API nos seguintes locais:

  • Endpoint de destino
  • Política ServiceCallout

Como configurar o tempo limite de sinal de atividade no endpoint de destino do proxy de API

Esta seção explica como configurar o tempo limite de sinal de atividade no endpoint de destino do seu proxy de API. O tempo limite de sinal de atividade pode ser configurado pela propriedade keepalive.timeout.millis, que representa o valor do tempo limite de sinal de atividade em milissegundos.

  1. Na interface do Edge, selecione o proxy de API específico em que você quer configurar o novo valor de tempo limite de sinal de atividade.
  2. Selecione o endpoint de destino específico que você quer modificar.
  3. Adicione a propriedade keepalive.timeout.millis com um valor adequado no <HTTPTargetConnection> elemento na TargetEndpoint configuração.

    Por exemplo, para mudar o tempo limite de sinal de atividade para 30 segundos, adicione o seguinte bloco de código:

    <Properties>
      <Property name="keepalive.timeout.millis">30000</Property>
    </Properties>

    Como a propriedade keepalive.timeout.millis está em milissegundos, o valor de 30 segundos é 30000.

    Os exemplos a seguir mostram como configurar o tempo limite de sinal de atividade na configuração do endpoint de destino do proxy de API:

    Exemplo de configuração de endpoint de destino usando o URL do servidor de back-end

    <TargetEndpoint name="default">
      <HTTPTargetConnection>
        <URL>https://mocktarget.apigee.net/json</URL>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</Property>
        </Properties>
      </HTTPTargetConnection>
    </TargetEndpoint>

    Exemplo de configuração de endpoint de destino usando o servidor de destino

    <TargetEndpoint name="default">
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="target1" />
          <Server name="target2" />
        </LoadBalancer>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </TargetEndpoint>
  4. Salve as alterações feitas no proxy de API.

Como configurar o tempo limite de sinal de atividade na política ServiceCallout do proxy de API

Esta seção explica como configurar o tempo limite de sinal de atividade na ServiceCallout política do proxy de API. O tempo limite de sinal de atividade pode ser configurado pela propriedade the keepalive.timeout.millis que representa o valor do tempo limite de sinal de atividade em milissegundos.

Para configurar o tempo limite de sinal de atividade na política ServiceCallout usando a keepalive.timeout.millis propriedade:

  1. Na interface do Edge, selecione o proxy de API específico em que você quer configurar o novo valor de tempo limite de sinal de atividade para a política ServiceCallout.
  2. Selecione a política ServiceCallout específica que você quer modificar.
  3. Adicione a propriedade keepalive.timeout.millis com um valor adequado no <HTTPTargetConnection> elemento na TargetEndpoint configuração.

    Por exemplo, para mudar o tempo limite de sinal de atividade para 30 segundos, adicione o seguinte bloco de código:

    <Properties>
      <Property name="keepalive.timeout.millis">30000</Property>
    </Properties>

    Como a propriedade keepalive.timeout.millis está em milissegundos, o valor de 30 segundos é 30000.

    Os exemplos a seguir mostram como configurar o tempo limite de sinal de atividade na ServiceCallout política do proxy de API:

    Exemplo de configuração de política ServiceCallout usando o URL do servidor de back-end

    <ServiceCallout name="Service-Callout-1">
      <DisplayName>Service Callout-1</DisplayName>
      <HTTPTargetConnection>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</Property>
        </Properties>
        <URL>https://mocktarget.apigee.net/json</URL>
      </HTTPTargetConnection>
    </ServiceCallout>

    Exemplo de configuração de política ServiceCallout usando o servidor de destino

    <ServiceCallout enabled="true" name="Service-Callout-1">
      <DisplayName>Service Callout-1</DisplayName>
      <Response>calloutResponse</Response>
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="target1" />
          <Server name="target2" />
        </LoadBalancer>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </ServiceCallout>
  4. Salve as alterações feitas no proxy de API.

Como configurar o tempo limite de sinal de atividade nos processadores de mensagens

Esta seção explica como configurar o tempo limite de sinal de atividade nos processadores de mensagens. O tempo limite de sinal de atividade pode ser configurado pela propriedade HTTPClient.keepalive.timeout.millis, que representa o valor do tempo limite de sinal de atividade em milissegundos no componente do processador de mensagens. Como essa propriedade é comentada no processador de mensagens, é necessário usar a sintaxe especial conf/http.properties+HTTPClient.keepalive.timeout.millis conforme descrito na seção Definir um token que está comentado no Como configurar o Edge.

Para configurar o tempo limite de sinal de atividade nos processadores de mensagens, faça o seguinte:

  1. Na máquina do processador de mensagens, abra o arquivo a seguir em um editor. Se ele ainda não existir, crie-o.
    /opt/apigee/customer/application/message-processor.properties

    Por exemplo, para abrir o arquivo usando vi, insira o seguinte:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. Adicione uma linha no formato a seguir ao arquivo de propriedades, substituindo um valor por TIME_IN_MILLISECONDS:
    conf/http.properties+HTTPClient.keepalive.timeout.millis=TIME_IN_MILLISECONDS

    Por exemplo, para mudar o tempo limite de sinal de atividade no processador de mensagens para 30 segundos, adicione a seguinte linha:

    conf/http.properties+HTTPClient.keepalive.timeout.millis=30000
  3. Salve as alterações.
  4. Verifique se o arquivo de propriedades pertence ao usuário apigee, conforme mostrado abaixo:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Reinicie o processador de mensagens, conforme mostrado abaixo:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Se você tiver mais de um processador de mensagens, repita as etapas acima em todos os processadores de mensagens.

Como verificar o tempo limite de sinal de atividade nos processadores de mensagens

Esta seção explica como verificar se o tempo limite de sinal de atividade foi modificado com sucesso nos processadores de mensagens.

Embora você use a sintaxe especial conf/http.properties+HTTPClient.keepalive.timeout.millis para definir o tempo limite de sinal de atividade no processador de mensagens, é necessário verificar se a propriedade real HTTPClient.keepalive.timeout.millis foi definida com o novo valor.

  1. Na máquina do processador de mensagens, pesquise a propriedade HTTPClient.keepalive.timeout.millis no /opt/apigee/edge-message-processor/conf diretório e verifique se ela foi definida com o novo valor, conforme mostrado abaixo:
    grep -ri "HTTPClient.keepalive.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. Se o novo valor de tempo limite de sinal de atividade for definido com sucesso no processador de mensagens, então o comando acima mostrará o novo valor no arquivo http.properties.

    O resultado de amostra do comando acima depois de configurar o tempo limite de sinal de atividade para 30 segundos é o seguinte:

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPClient.keepalive.timeout.millis=30000

    No exemplo de saída acima, observe que a propriedade HTTPClient.keepalive.timeout.millis foi definida com o novo valor 30000 em http.properties. Isso indica que o tempo limite de sinal de atividade foi configurado com sucesso para 30 segundos no processador de mensagens.

  3. Se você ainda vir o valor antigo da propriedade HTTPClient.keepalive.timeout.millis, verifique se seguiu todas as etapas descritas em Como configurar o tempo limite de sinal de atividade nos processadores de mensagens corretamente. Se você perdeu alguma etapa, repita todas as etapas corretamente.
  4. Se você ainda não conseguir modificar o tempo limite de sinal de atividade, entre em contato com Google Cloud Apigee Edge Support.