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

Estás viendo la documentación de Apigee Edge.
Ve a la Documentación de Apigee X.
información

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

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

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

El tiempo de espera de keep alive para Message Processors se puede aumentar o disminuir del 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 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 un único TCP para enviar y recibir múltiples solicitudes/respuestas HTTP, en lugar de abrir una nueva de red para cada par de solicitud/respuesta.

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

Si esta propiedad se modifica con un nuevo valor de tiempo de espera para el servidor de destino que se usa en extremo de destino o la política ServiceCallout en el proxy de API específico y, luego, el tiempo de mantenimiento de actividad solo 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 un único TCP para enviar y recibir múltiples solicitudes/respuestas HTTP, en lugar de abrir una 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 Message Processor.

El valor predeterminado de esta propiedad es de 60 segundos.

Puedes modificar esta propiedad como se explica en Cómo configurar el tiempo de espera de keep alive en Message Processor que se muestra a continuación, o puedes reemplazar este valor si configuras la propiedad keepalive.timeout.millis a nivel del 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 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

Esta sección 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 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 apropiado en el El elemento <HTTPTargetConnection> en 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 el extremo de destino actual del proxy de API:

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

Configuración del tiempo de espera de keep alive en la política Service conformidad del proxy de API

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

Para configurar el tiempo de espera de keep alive en la política ServiceCallout con el Propiedad keepalive.timeout.millis:

  1. En la IU de Edge, selecciona el proxy de API específico en el que deseas configurar el nuevo El valor de tiempo de espera de keep alive de 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 El elemento <HTTPTargetConnection> en 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 Política ServiceCallout de tu proxy de API:

    Ejemplo de configuración de la política Service UX 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 Service UX 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 Message Processor

En esta sección, se explica cómo configurar el tiempo de espera de keep alive en Message Processors. El El tiempo de espera de keep alive se puede configurar a través de la propiedad HTTPClient.keepalive.timeout.millis, que representa el tiempo de espera de keep alive en milisegundos en el componente Message Processor. Debido a que esta propiedad tiene comentarios 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 actualmente 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 del procesador de mensajes, 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 con 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 Message Processor 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 Procesadores de mensajes.

Cómo verificar el tiempo de espera de keep alive en Message Processor

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

Si bien usas la sintaxis especial conf/http.properties+HTTPClient.keepalive.timeout.millis para mantener en funcionamiento tiempo de espera en el procesador de mensajes, debes verificar si la propiedad real Se estableció HTTPClient.keepalive.timeout.millis con el valor nuevo.

  1. En la máquina del procesador de mensajes, busca la propiedad. HTTPClient.keepalive.timeout.millis en /opt/apigee/edge-message-processor/conf y verifica si tiene 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 correctamente 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 keep alive a 30 segundos es de la siguiente manera:

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

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

  3. Si aún ves el valor anterior de la propiedad HTTPClient.keepalive.timeout.millis y, luego, verifica que hayas seguido todas los pasos descritos en Cómo configurar el tiempo de espera de keep alive en Message Processors correctamente. Si omitiste algún paso, vuelve a repetirlo correctamente.
  4. Si aún no puedes modificar el tiempo de espera de keep alive, comunícate Asistencia de Apigee Edge de Google Cloud.