Configura el tiempo de espera de conexión 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 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 la conexión con el servidor de destino. El valor predeterminado de la propiedad de tiempo de espera de conexión en el Message Processor es de 3 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 ServiceCallout política de tu proxy de API.

El tiempo de espera de conexión para los procesadores de mensajes se puede aumentar o disminuir desde el 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 los procesadores de mensajes:

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

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

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

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

HTTPClient.connect.timeout.millis Procesador de mensajes

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

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

El valor predeterminado de esta propiedad es 3 segundos.

Puedes modificar esta propiedad como se explica en Cómo configurar el tiempo de espera de conexión en los Message Processors a continuación o puedes reemplazar este valor si estableces la connect.timeout.millis propiedad 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 conexión en el proxy de API

El tiempo de espera de 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 conexión en el extremo de destino de tu proxy de API. El tiempo de espera de conexión se puede configurar a través de la propiedad connect.timeout.millis, que representa el valor de tiempo de espera de 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 <HTTPTargetConnection> elemento en la TargetEndpoint configuración.

    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>

    Dado que la propiedad connect.timeout.millis está 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 de tu proxy de API:

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

Configura el tiempo de espera de conexión en la política de ServiceCallout del proxy de API

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

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

    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>

    Dado que la propiedad connect.timeout.millis está 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 ServiceCallout política de tu proxy de API:

    Ejemplo de configuración de la política de ServiceCallout con la URL del 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 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="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 los procesadores de mensajes

En esta sección, se explica cómo configurar el tiempo de espera de conexión en los procesadores de mensajes. El tiempo de espera de conexión se puede configurar a través de la propiedad conf_http_HTTPClient.connect.timeout.millis, que representa el valor de tiempo de espera de conexión en milisegundos en el componente Message Processor, con el token según la sintaxis que se describe en Cómo configurar Edge.

Para configurar el tiempo de espera de conexión en los procesadores de mensajes, haz lo siguiente:

  1. En la máquina del 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 con el siguiente formato al archivo de propiedades y sustituye 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 el 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 apigee, como se muestra a continuación:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Reinicia el procesador de mensajes 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 conexión en los procesadores de mensajes

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

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

  1. En la máquina del Message Processor, busca la propiedad HTTPTransport.connect.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.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 el 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 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 que hayas seguido correctamente todos los pasos que se describen en Cómo configurar el tiempo de espera de conexión en los procesadores de mensajes. Si omitiste algún paso, repite todos los pasos correctamente.
  4. Si aún no puedes modificar el tiempo de espera de conexión, comunícate con el equipo de Asistencia de Google Cloud Apigee Edge.