Configura el tiempo de espera de conexión 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 conexión para los procesadores de mensajes de Apigee Edge.

El tiempo de espera de conexión representa el tiempo durante el cual el Message Processor espera para establecer una conexión con el servidor de destino. El valor predeterminado de la propiedad de tiempo de espera de conexión en Message Processor es de 3 segundos. Este tiempo de espera se aplica a los servidores de backend establecidos en la configuración del extremo de destino y en la política ServiceCallout del proxy de API.

El tiempo de espera de conexión de Message Processor se puede aumentar o disminuir con respecto al valor predeterminado de 3 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 conexión en Message Processor:

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

Este es el tiempo máximo que Message Processor espera para conectarse con el servidor de destino.

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

Si esta propiedad se modifica con un nuevo valor de tiempo de espera para el servidor de destino asociado con un proxy de API, el tiempo de conexión solo para ese servidor de destino se ve afectado.

HTTPClient.connect.timeout.millis Procesador de mensajes

Este es el tiempo máximo que Message Processor espera para conectarse al servidor de destino.

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 3 segundos.

Puedes modificar esta propiedad como se explica en Configura el tiempo de espera de conexión en Message Processor a continuación o puedes reemplazar este valor si configuras la propiedad connect.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 conexión en el proxy de API

El tiempo de espera de la conexión 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 conexión en el extremo de destino del proxy de API

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

    Por ejemplo, para cambiar el tiempo de espera de conexión a 5 segundos, agrega el siguiente bloque de código:

    <Properties>
      <Property name="connect.timeout.millis">5000</Property>
    </Properties>
    

    Como la propiedad connect.timeout.millis se encuentra en milisegundos, el valor de 5 segundos es 5000.

    En los siguientes ejemplos, se muestra cómo configurar el tiempo de espera de conexión en la configuración del extremo de destino del proxy de la 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="connect.timeout.millis">5000</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="connect.timeout.millis">5000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </TargetEndpoint>
    
  4. Guarda los cambios realizados en tu proxy de API.

Configuración del tiempo de espera de conexión en la política ServiceHighlights del proxy de API

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

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

    Por ejemplo, para cambiar el tiempo de espera de la conexión a 5 segundos, agrega el siguiente bloque de código:

    <Properties>
      <Property name="connect.timeout.millis">5000</Property>
    </Properties>
    

    Como la propiedad connect.timeout.millis se encuentra en milisegundos, el valor de 5 segundos es 5000.

    En los siguientes ejemplos, se muestra cómo configurar el tiempo de espera de conexión 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="connect.timeout.millis">5000</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="connect.timeout.millis">5000</Property>
        </Properties>
      <Path>/test</Path>
      </HTTPTargetConnection>
    </ServiceCallout>
    
  4. Guarda los cambios realizados en tu proxy de API.

Configura el tiempo de espera de conexión en Message Processor

En esta sección, se explica cómo configurar el tiempo de espera de conexión en Message Processor. El tiempo de espera de conexión se puede configurar mediante la propiedad conf_http_HTTPClient.connect.timeout.millis, que representa el valor del tiempo de espera de la conexión en milisegundos en el componente Message Processor, mediante el token según la sintaxis descrita en Cómo configurar Edge.

Para configurar el tiempo de espera de conexión 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_HTTPClient.connect.timeout.millis=TIME_IN_MILLISECONDS
    

    Por ejemplo, para cambiar el tiempo de espera de conexión en Message Processor a 5 segundos, agrega la siguiente línea:

    conf_http_HTTPClient.connect.timeout.millis=5000
    
  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 conexión en Message Processor

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

Aunque uses el token conf_http_HTTPClient.connect.timeout.millis para establecer el tiempo de espera de conexión en Message Processor, debes verificar si se configuró la propiedad real HTTPClient.connect.timeout.millis con el valor nuevo.

  1. En la máquina de Message Processor, busca la propiedad HTTPTransport.connect.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.connect.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. Si el nuevo valor de tiempo de espera de conexión se establece correctamente en Message Processor, el comando anterior mostrará el nuevo valor en el archivo http.properties.

    El resultado de muestra del comando anterior después de configurar el tiempo de espera de la conexión en 5 segundos es el siguiente:

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

    En el resultado de ejemplo anterior, observa que la propiedad HTTPClient.connect.timeout.millis se estableció con el valor nuevo 5000 en http.properties. Esto indica que el tiempo de espera de conexión se configuró correctamente en 5 segundos en el procesador de mensajes.

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