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

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

Neste documento, explicamos 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 de/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 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 reduzido 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 seguintes propriedades 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 de ServiceCallout

Esse é o tempo máximo de inatividade para o qual 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 propriedade HTTPClient.keepalive.timeout.millis no processador de mensagens, em que o valor padrão é 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 a política ServiceCallout no proxy de API específico, o tempo de manutenção de atividade apenas para esse servidor de destino específico será afetado.

HTTPClient.keepalive.timeout.millis processador de mensagens

Esse é o tempo de inatividade máximo para o qual 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 neste processador de mensagens.

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

Você pode 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 propriedade keepalive.timeout.millis no nível do proxy da API.

Antes de começar

Antes de seguir as etapas deste documento, é importante entender os seguintes tópicos:

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

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

  • Endpoint de destino
  • Política de ServiceCallout

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

Nesta seção, explicamos como configurar o tempo limite de sinal de atividade no endpoint de destino do proxy de API. É possível configurar o tempo limite do sinal de atividade usando a propriedade keepalive.timeout.millis, que representa o valor do tempo limite 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 do 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 elemento <HTTPTargetConnection> na configuração TargetEndpoint.

    Por exemplo, se quiser mudar o tempo limite de sinal de atividade para 30 segundos, adicione o bloco de código a seguir:

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

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

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

    Exemplo de configuração de endpoint de destino usando URL para o 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 do 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 Service callout do proxy de API

Nesta seção, explicamos como configurar o tempo limite de sinal de atividade na política ServiceCallout do proxy de API. O tempo limite do sinal de atividade pode ser configurado usando a propriedade the keepalive.timeout.millis, que representa esse valor em milissegundos.

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

  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 elemento <HTTPTargetConnection> na configuração TargetEndpoint.

    Por exemplo, para alterar o tempo limite do sinal de atividade para 30 segundos, adicione o bloco de código a seguir:

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

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

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

    Exemplo de configuração de política Service callout usando URL para o 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 da política ServiceFrase de destaque 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 do sinal de atividade pode ser configurado usando a propriedade HTTPClient.keepalive.timeout.millis, que representa o valor do tempo limite do sinal de atividade em milissegundos no componente do processador de mensagens. Como essa propriedade é comentada no processador de mensagens, você precisa usar a sintaxe especial conf/http.properties+HTTPClient.keepalive.timeout.millis, conforme descrito na seção Definir um token que está comentado no momento em 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 ainda não existir, crie-o.
    /opt/apigee/customer/application/message-processor.properties
    

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

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

    Por exemplo, para alterar 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 mudanças.
  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 eles.

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

Esta seção explica como verificar se o tempo limite de keep Alive foi modificado nos processadores de mensagens.

Mesmo que 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 diretório /opt/apigee/edge-message-processor/conf 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 êxito no processador de mensagens, o comando acima mostrará o novo valor no arquivo http.properties.

    O resultado do exemplo do comando acima depois de você ter configurado 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 para 30 segundos no processador de mensagens.

  3. Se o valor antigo da propriedade HTTPClient.keepalive.timeout.millis ainda aparecer, verifique se você seguiu todas as etapas descritas em Como configurar o tempo limite do sinal de atividade nos processadores de mensagens corretamente. Se você esqueceu alguma etapa, repita todas as etapas corretamente.
  4. Se ainda assim não for possível modificar o tempo limite de keep alive, entre em contato com o suporte do Apigee Edge do Google Cloud.