Configura el tiempo de espera de E/S 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 E/S para los procesadores de mensajes de Apigee Edge.

El tiempo de espera de E/S en el Message Processor representa el tiempo durante el cual espera para recibir una respuesta del servidor backend o que el socket esté listo para escribir una solicitud al servidor backend, antes de que se agote el tiempo de espera.

El valor predeterminado del tiempo de espera de E/S del procesador de mensajes es 55 seconds. Este tiempo de espera período aplicable a los servidores de backend establecidos en la configuración del extremo de destino y en política de tu proxy de API.

El tiempo de espera de E/S para Message Processors se puede aumentar o disminuir del valor predeterminado de 55 seconds según tus necesidades. Se puede configurar en los siguientes lugares:

  • En el proxy de API
    • Extremo de destino
    • Política ServiceCallout
  • En el Message Processor

Las siguientes propiedades controlan el tiempo de espera de E/S en Message Processor:

Nombre de la propiedad Ubicación Descripción
io.timeout.millis

Proxy de API:

  • Extremo de destino
  • Política de Texto destacado del servicio

Este es el tiempo máximo durante el que el Message Processor hace lo siguiente:

  • Espera para recibir una respuesta del servidor backend, después de establecer el directa y enviar la solicitud al servidor de backend, O BIEN
  • Espera a que el socket esté listo para que Message Processor envíe la solicitud a el servidor de backend.

Si no hay respuesta del servidor de backend dentro de este tiempo de espera, el Se agotó el tiempo de espera del Message Processor.

De forma predeterminada, esta propiedad toma el valor establecido para el La propiedad HTTPTransport.io.timeout.millis en el procesador de mensajes. El valor predeterminado es 55 seconds.

Si esta propiedad se modifica con un nuevo valor de tiempo de espera para un proxy de API específico, solo ese proxy de API se ve afectado.

HTTPTransport.io.timeout.millis Message Processor

Este es el tiempo máximo durante el que el Message Processor hace lo siguiente:

  • Espera para recibir una respuesta del servidor de backend después de establecer la conexión. y envía la solicitud al servidor de backend.
  • Espera a que el socket esté listo para que Message Processor envíe la solicitud a el servidor de backend.

Si no hay respuesta del servidor de backend dentro de este tiempo de espera, el Se agotó el tiempo de espera del Message Processor.

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

El valor predeterminado de esta propiedad es 55 seconds.

Puedes modificar esta propiedad como se explica en Configura el tiempo de espera de E/S en Message Processor Para reemplazar este valor, configura la propiedad io.timeout.millis en la API a nivel de proxy.

Antes de comenzar

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

Configura el tiempo de espera de E/S en el proxy de API

El tiempo de espera de E/S se puede configurar en los siguientes lugares del proxy de API:

  • Extremo de destino
  • Política ServiceCallout

Configura el tiempo de espera de E/S en el extremo de destino del proxy de API

En esta sección, se explica cómo configurar el tiempo de espera de E/S en el extremo de destino del proxy de API. El tiempo de espera de E/S se puede configurar a través de la propiedad io.timeout.millis, que representa el valor de tiempo de espera de E/S 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 E/S.
  2. Selecciona el extremo de destino específico que deseas modificar.
  3. Agrega la propiedad io.timeout.millis con un valor adecuado en el El elemento <HTTPTargetConnection> en la configuración TargetEndpoint
  4. Por ejemplo, para cambiar el tiempo de espera de E/S a 120 segundos, agrega el siguiente bloque de código:

        <Properties>
          <Property name="io.timeout.millis">120000</Property>
        </Properties>
    

    Como la propiedad io.timeout.millis se encuentra en milisegundos, el valor de 120 segundos es 120000.

    En los siguientes ejemplos, se muestra cómo configurar el tiempo de espera de E/S 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="io.timeout.millis">120000</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="io.timeout.millis">120000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </TargetEndpoint>
    
  5. Guarda los cambios realizados en tu proxy de API.

Configuración del tiempo de espera de E/S en la política Service conformidad del proxy de API

Esta sección explica cómo configurar el tiempo de espera de E/S en la política ServiceCallout de su proxy de API. El tiempo de espera de E/S se puede configurar con el elemento <Timeout>. o la propiedad io.timeout.millis. Los elementos <Timeout> y La propiedad io.timeout.millis representa los valores de tiempo de espera de E/S en milisegundos.

Puedes configurar el tiempo de espera de E/S en la política ServiceCallout con uno de los siguientes métodos:

  • <Timeout>.
  • io.timeout.millis.

Elemento de tiempo de espera

Para configurar el tiempo de espera de E/S en la política ServiceCallout mediante el elemento <Timeout>, sigue estos pasos: haz lo siguiente:

  1. En la IU de Edge, selecciona el proxy de API específico en el que deseas configurar la nuevo valor de tiempo de espera de E/S para la política ServiceTexto destacado.
  2. Selecciona la política ServiceTexto destacado que deseas modificar.
  3. Agrega el elemento <Timeout> con un valor apropiado debajo del elemento Configuración de <ServiceCallout>.

    Por ejemplo, para cambiar el tiempo de espera de E/S a 120 segundos, agrega la siguiente línea de código:

        <Timeout>120000</Timeout>
    

    Como el elemento <Timeout> está en milisegundos, el valor del 120 segundos es 120000.

    En el siguiente ejemplo, se muestra cómo configurar el tiempo de espera de E/S en la solicitud de oferta de servicio política con el elemento <Timeout>:

    Ejemplo de configuración de la política Service UX con una URL para el servidor de backend

    <ServiceCallout name="Service-Callout-1">
        <DisplayName>ServiceCallout-1</DisplayName>
        <Timeout>120000</Timeout>
        <HTTPTargetConnection>
            <Properties/>
            <URL>https://mocktarget.apigee.net/json</URL>
        </HTTPTargetConnection>
    </ServiceCallout>
    
  4. Guarda los cambios realizados en tu proxy de API.

Propiedad io.timeout.millis

Para configurar el tiempo de espera de E/S en la política ServiceTexto destacado io.timeout.millis, haz lo siguiente:

  1. En la IU de Edge, selecciona el proxy de API específico que deseas configurar. el nuevo valor de tiempo de espera de E/S para la política ServiceCallout.
  2. Selecciona la política ServiceTexto destacado que deseas modificar.
  3. Agrega la propiedad io.timeout.millis con un valor adecuado en el Elemento <HTTPTargetConnection> en la configuración de TargetEndpoint.

    Por ejemplo, para cambiar el tiempo de espera de E/S a 120 segundos, agrega el siguiente bloque de código:

        <Properties>
          <Property name="io.timeout.millis">120000</Property>
        </Properties>
    

    Como la propiedad io.timeout.millis se encuentra en milisegundos, el valor de 120 segundos es 120000.

    En los siguientes ejemplos, se muestra cómo configurar el tiempo de espera de E/S en el extremo de destino actual del 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>ServiceCallout-1</DisplayName>
        <HTTPTargetConnection>
          <Properties>
            <Property name="io.timeout.millis">120000</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>ServiceCallout-1</DisplayName>
        <Response>calloutResponse</Response>
        <HTTPTargetConnection>
            <LoadBalancer>
                <Server name="target1" />
                <Server name="target2" />
            </LoadBalancer>
            <Properties>
                <Property name="io.timeout.millis">120000</Property>
            </Properties>
            <Path>/test</Path>
        </HTTPTargetConnection>
    </ServiceCallout>
    
  4. Guarda los cambios realizados en tu proxy de API.

Cómo configurar el tiempo de espera de E/S en los procesadores de mensajes

En esta sección, se explica cómo configurar el tiempo de espera de E/S en Message Processor. El tiempo de espera de E/S se puede configurar a través de la propiedad HTTPTransport.io.timeout.millis. que representa el valor de tiempo de espera de E/S en milisegundos en el componente Message Processor. usando el token, según la sintaxis descrita en Cómo configurar Edge.

Para configurar el tiempo de espera de E/S en Message Processor, haz lo siguiente:

  1. En la máquina del procesador de mensajes, abre el siguiente archivo en un editor. Si no ya existen, entonces la crearás.
    /opt/apigee/customer/application/message-processor.properties
    

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

    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_HTTPTransport.io.timeout.millis=TIME_IN_MILLISECONDS
    

    Por ejemplo, para cambiar el tiempo de espera de E/S en Message Processor a 120 segundos, haz lo siguiente: agrega la siguiente línea:

    conf_http_HTTPTransport.io.timeout.millis=120000
    
  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 los mensajes Procesadores.

Cómo verificar el tiempo de espera de E/S en los procesadores de mensajes

En esta sección, se explica cómo comprobar que el tiempo de espera de E/S se haya modificado correctamente en el Procesadores de mensajes.

Si bien usas el token conf_http_HTTPTransport.io.timeout.millis para establecer la Se agotó el tiempo de espera de E/S en Message Processor, debes verificar si la propiedad real Se estableció HTTPTransport.io.timeout.millis con el valor nuevo.

  1. En la máquina del procesador de mensajes, busca la propiedad HTTPTransport.io.timeout.millis. en el directorio /opt/apigee/edge-message-processor/conf y verifica si se estableció con el valor nuevo, como se muestra a continuación:
    grep -ri "HTTPTransport.io.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. Si el nuevo valor de tiempo de espera de E/S se configura correctamente en Message Processor, se aplica lo anterior: muestra el valor nuevo en el archivo http.properties.
  3. El resultado de muestra del comando anterior después de configurar el tiempo de espera de E/S para 120 segundos es lo siguiente:

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPTransport.io.timeout.millis=120000
    

    En el resultado de ejemplo anterior, observa que la propiedad Se estableció HTTPTransport.io.timeout.millis con el valor nuevo 120000 en http.properties Esto indica que el tiempo de espera de E/S se configuró correctamente a 120 segundos en Message Processor.

  4. Si aún ves el valor anterior de la propiedad HTTPTransport.io.timeout.millis, haz lo siguiente: luego, verifica que hayas seguido todos los pasos descritos Configura el tiempo de espera de E/S en los procesadores de mensajes correctamente. Si tienes omitiste algún paso, repite todos los pasos correctamente.
  5. Si aún no puedes modificar el tiempo de espera de E/S, comunícate con Asistencia de Apigee Edge.

¿Qué sigue?

Más información sobre Configura el tiempo de espera de E/S en los routers