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

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

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

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

El valor predeterminado de la propiedad de tiempo de espera de keep-alive en Message Processor es de 60 segundos. Este 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 del proxy de API.

El tiempo de espera de mantenimiento de actividad de Message Processors se puede aumentar o disminuir con respecto al 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 procesador de mensajes

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

Nombre de la propiedad Location 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 Message Processor permite que una sola conexión TCP envíe y reciba varias solicitudes o respuestas HTTP, en lugar de abrir una nueva conexión para cada par de solicitud/respuesta.

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

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

HTTPClient.keepalive.timeout.millis Procesador de mensajes

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

Esta propiedad se usa para todos los proxies de API que se ejecutan en este procesador de mensajes.

El valor predeterminado de esta propiedad es de 60 segundos.

Puedes modificar esta propiedad como se explica en la sección Configura el tiempo de espera de mantenimiento en vivo en Message Processor a continuación o puedes reemplazar este valor si configuras la propiedad keepalive.timeout.millis en el nivel de proxy de API.

Antes de comenzar

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

Configura el tiempo de espera de mantenimiento en vivo 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 mantenimiento de actividad en el extremo de destino del proxy de API

En esta sección, se explica cómo configurar el tiempo de espera de mantenimiento en vivo en el extremo de destino del proxy de API. El tiempo de espera de keepalive se puede configurar mediante la propiedad keepalive.timeout.millis, que representa el valor del 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 mantenimiento en vivo.
  2. Selecciona el extremo de destino específico que deseas modificar.
  3. Agrega la propiedad keepalive.timeout.millis con un valor adecuado en el elemento <HTTPTargetConnection> de la configuración TargetEndpoint.

    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>
    

    Como la propiedad keepalive.timeout.millis se encuentra 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 del proxy de API:

    Ejemplo de configuración de 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 de extremo de destino con un 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.

Configuración del tiempo de espera de mantenimiento de actividad en la política Service leyenda del proxy de API

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

Para configurar el tiempo de espera de mantenimiento de actividad en la política ServiceCallout con la propiedad keepalive.timeout.millis, 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 mantenimiento de actividad para la política ServiceCallout.
  2. Selecciona la política ServiceCallout específica que quieres modificar.
  3. Agrega la propiedad keepalive.timeout.millis con un valor apropiado en el elemento <HTTPTargetConnection> de la configuración TargetEndpoint.

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

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

    Como la propiedad keepalive.timeout.millis se encuentra en milisegundos, el valor de 30 segundos es 30000.

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

    Ejemplo de configuración de la política ServiceReferencia con una 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 ServiceReferencia con un 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 mantenimiento de actividad en Message Processor

En esta sección, se explica cómo configurar el tiempo de espera de keepalive en Message Processor. El tiempo de espera de keepalive se puede configurar mediante la propiedad HTTPClient.keepalive.timeout.millis, que representa el valor del tiempo de espera de keepalive en milisegundos en el componente de Message Processor. Dado que esta propiedad se comenta en Message Processor, debes usar la sintaxis especial conf/http.properties+HTTPClient.keepalive.timeout.millis como se describe en la sección Configura un token que esté marcado como comentario en Cómo configurar Edge.

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

  1. En la máquina de 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 reemplaza 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 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 de apigee, como se muestra a continuación:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Reinicia 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 ellos.

Verifica el tiempo de espera de mantenimiento en vivo en Message Processor

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

Aunque uses la sintaxis especial conf/http.properties+HTTPClient.keepalive.timeout.millis para establecer el tiempo de espera de mantenimiento de actividad en el procesador de mensajes, debes verificar si se configuró la propiedad real HTTPClient.keepalive.timeout.millis con el valor nuevo.

  1. En la máquina de Message Processor, busca la propiedad HTTPClient.keepalive.timeout.millis en el directorio /opt/apigee/edge-message-processor/conf y verifica si se configuró 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 configura de forma correcta en Message Processor, 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 keepalive en 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 configuró con el valor nuevo 30000 en http.properties. Esto indica que el tiempo de espera de keepalive se configuró correctamente en 30 segundos en Message Processor.

  3. Si aún ves el valor anterior de la propiedad HTTPClient.keepalive.timeout.millis, verifica si seguiste todos los pasos descritos en Configura correctamente el tiempo de espera de la conservación en vivo en Message Processor. Si omitiste algún paso, repite todos los pasos correctamente.
  4. Si aún no puedes modificar el tiempo de espera de mantenimiento en vivo, comunícate con la asistencia de Apigee Edge de Google Cloud.