Configura el tiempo de espera de keep-alive en Message Processor

Estás viendo la documentación de Apigee Edge.
Ir a la documentación de Apigee X.
info

En este documento, se explica cómo configurar el tiempo de espera de keep-alive para los Message Processors de Apigee Edge.

El tiempo de espera de keep-alive en el Message Processor permite que una sola conexión TCP envíe y reciba varias solicitudes o respuestas HTTP desde o hacia el servidor de backend, en lugar de abrir una conexión nueva para cada par de solicitud o respuesta.

El valor predeterminado de la propiedad de tiempo de espera de keep-alive en el Message Processor es 60 segundos. Este período de tiempo de espera se aplica a los servidores de backend configurados en la configuración del extremo de destino y en la política ServiceCallout de tu proxy de API.

El tiempo de espera de keep-alive para los Message Processors se puede aumentar o disminuir desde el valor predeterminado de 60 segundos según tus necesidades. Se puede configurar de las siguientes maneras:

  • En el proxy de API
    • En el extremo de destino
    • En la política ServiceCallout
  • En el Message Processor

Las siguientes propiedades controlan el tiempo de espera de keep-alive en los Message Processors:

Nombre de la propiedad Ubicación Descripción
keepalive.timeout.millis Proxy de API:
  • Extremo de destino
  • Política de ServiceCallout

Este es el tiempo de inactividad máximo durante el cual el Message Processor permite que una sola conexión TCP envíe y reciba varias solicitudes o respuestas HTTP, en lugar de abrir una conexión nueva para cada par de solicitud o respuesta.

De forma predeterminada, esta propiedad toma el valor establecido para la HTTPClient.keepalive.timeout.millis propiedad en el Message Processor, en el que el valor predeterminado es 60 segundos.

Si esta propiedad se modifica con un valor de tiempo de espera nuevo para el servidor de destino que se usa en el extremo de destino o la ServiceCallout política en el proxy de API específico, solo se verá afectado el tiempo de keep-alive para ese servidor de destino específico.

HTTPClient.keepalive.timeout.millis Message Processor

Este es el tiempo de inactividad máximo durante el cual el Message Processor permite que una sola conexión TCP envíe y reciba varias solicitudes o respuestas HTTP, en lugar de abrir una conexión nueva para cada par de solicitud o respuesta.

Esta propiedad se usa para todos los proxies de API que se ejecutan en este Message Processor.

El valor predeterminado de esta propiedad es 60 segundos.

Puedes modificar esta propiedad como se explica en Configura el tiempo de espera de keep-alive en los Message Processors a continuación o puedes anular este valor si estableces la propiedad keepalive.timeout.millis en el nivel del proxy de API.

Antes de comenzar

Antes de usar los pasos de este documento, asegúrate de comprender los siguientes temas:

Configura el tiempo de espera de keep-alive en el proxy de API

El tiempo de espera de keep-alive se puede configurar en el proxy de API en los siguientes lugares:

  • Extremo de destino
  • Política de ServiceCallout

Configura el tiempo de espera de keep-alive en el extremo de destino del proxy de API

En esta sección, se explica cómo configurar el tiempo de espera de keep-alive en el extremo de destino de tu proxy de API. El tiempo de espera de keep-alive se puede configurar a través de la propiedad keepalive.timeout.millis, que representa el valor de tiempo de espera de keep-alive en milisegundos.

  1. En la IU de Edge, selecciona el proxy de API específico en el que deseas configurar el nuevo valor de tiempo de espera de keep-alive.
  2. Selecciona el extremo de destino específico que deseas modificar.
  3. Agrega la propiedad keepalive.timeout.millis con un valor adecuado en el <HTTPTargetConnection> elemento en la TargetEndpoint configuración.

    Por ejemplo, para cambiar el tiempo de espera de keep-alive a 30 segundos, agrega el siguiente bloque de código:

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

    Dado que la propiedad keepalive.timeout.millis está en milisegundos, el valor de 30 segundos es 30000.

    En los siguientes ejemplos, se muestra cómo configurar el tiempo de espera de keep-alive en la configuración del extremo de destino de tu proxy de API:

    Ejemplo de configuración del extremo de destino con URL para el servidor de backend

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

    Ejemplo de configuración del extremo de destino con el 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. Guarda los cambios realizados en tu proxy de API.

Configura el tiempo de espera de keep-alive en la política de ServiceCallout del proxy de API

En esta sección, se explica cómo configurar el tiempo de espera de keep-alive en la ServiceCallout política de tu proxy de API. El tiempo de espera de keep-alive se puede configurar a través de la propiedad the keepalive.timeout.millis, que representa el valor de tiempo de espera de keep-alive en milisegundos.

Para configurar el tiempo de espera de keep-alive en la política ServiceCallout con la keepalive.timeout.millis propiedad, haz lo siguiente:

  1. En la IU de Edge, selecciona el proxy de API específico en el que deseas configurar el nuevo valor de tiempo de espera de keep-alive para la política ServiceCallout.
  2. Selecciona la política ServiceCallout específica que deseas modificar.
  3. Agrega la propiedad keepalive.timeout.millis con un valor adecuado en el <HTTPTargetConnection> elemento en la TargetEndpoint configuración.

    Por ejemplo, para cambiar el tiempo de espera de keep-alive a 30 segundos, agrega el siguiente bloque de código:

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

    Dado que la propiedad keepalive.timeout.millis está en milisegundos, el valor de 30 segundos es 30000.

    En los siguientes ejemplos, se muestra cómo configurar el tiempo de espera de keep-alive en la ServiceCallout política de tu proxy de API:

    Ejemplo de configuración de la política de ServiceCallout con URL para el servidor de backend

    <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>

    Ejemplo de configuración de la política de ServiceCallout con el 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. Guarda los cambios realizados en tu proxy de API.

Configura el tiempo de espera de keep-alive en los Message Processors

En esta sección, se explica cómo configurar el tiempo de espera de keep-alive en los Message Processors. El tiempo de espera de keep-alive se puede configurar a través de la propiedad HTTPClient.keepalive.timeout.millis, que representa el valor de tiempo de espera de keep-alive en milisegundos en el componente Message Processor. Dado que esta propiedad está comentada en el Message Processor, debes usar la sintaxis especial conf/http.properties+HTTPClient.keepalive.timeout.millis como se describe en la sección Establece un token que está comentado actualmente en Cómo configurar Edge.

Para configurar el tiempo de espera de keep-alive en los Message Processors, haz lo siguiente:

  1. En la máquina Message Processor, abre el siguiente archivo en un editor. Si aún no existe, créalo.
    /opt/apigee/customer/application/message-processor.properties

    Por ejemplo, para abrir el archivo con vi, ingresa lo siguiente:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. Agrega una línea en el siguiente formato al archivo de propiedades y sustituye un valor por TIME_IN_MILLISECONDS:
    conf/http.properties+HTTPClient.keepalive.timeout.millis=TIME_IN_MILLISECONDS

    Por ejemplo, para cambiar el tiempo de espera de keep-alive en el Message Processor a 30 segundos, agrega la siguiente línea:

    conf/http.properties+HTTPClient.keepalive.timeout.millis=30000
  3. Guarda los cambios.
  4. Asegúrate de que el archivo de propiedades sea propiedad del usuario apigee, como se muestra a continuación:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Reinicia el Message Processor como se muestra a continuación:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Si tienes más de un Message Processor, repite los pasos anteriores en todos los Message Processors.

Verifica el tiempo de espera de keep-alive en los Message Processors

En esta sección, se explica cómo verificar que el tiempo de espera de keep-alive se haya modificado correctamente en los Message Processors.

Aunque uses la sintaxis especial conf/http.properties+HTTPClient.keepalive.timeout.millis para establecer el tiempo de espera de keep-alive en el Message Processor, debes verificar si la propiedad real HTTPClient.keepalive.timeout.millis se estableció con el valor nuevo.

  1. En la máquina Message Processor, busca la propiedad HTTPClient.keepalive.timeout.millis en el /opt/apigee/edge-message-processor/conf directorio y verifica si se estableció con el valor nuevo como se muestra a continuación:
    grep -ri "HTTPClient.keepalive.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. Si el nuevo valor de tiempo de espera de keep-alive se establece correctamente en el Message Processor, entonces el comando anterior muestra el valor nuevo en el archivo http.properties.

    El resultado de muestra del comando anterior después de configurar el tiempo de espera de keep-alive a 30 segundos es el siguiente:

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

    En el resultado de ejemplo anterior, observa que la propiedad HTTPClient.keepalive.timeout.millis se estableció con el valor nuevo 30000 en http.properties. Esto indica que el tiempo de espera de keep-alive se configuró correctamente en 30 segundos en el Message Processor.

  3. Si aún ves el valor anterior de la propiedad HTTPClient.keepalive.timeout.millis, verifica que hayas seguido correctamente todos los pasos descritos en Configura el tiempo de espera de keep-alive en los Message Processors. Si omitiste algún paso, repite todos los pasos correctamente.
  4. Si aún no puedes modificar el tiempo de espera de keep-alive, comunícate con el equipo de asistencia de Google Cloud Apigee Edge.