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 E/S para los procesadores de mensajes de Apigee Edge.
El tiempo de espera de E/S en Message Processor representa el tiempo durante el cual Message Processor espera recibir una respuesta del servidor de backend o que el socket esté listo para escribir una solicitud en el servidor de backend antes de que se agote el tiempo de espera.
El valor predeterminado del tiempo de espera de E/S de Message Processor es 55 seconds. 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 política ServiceCallout
de tu proxy de API.
El tiempo de espera de E/S para Message Processor se puede aumentar o disminuir desde el 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 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:
|
Este es el tiempo máximo durante el cual Message Processor hace lo siguiente:
Si no hay respuesta del servidor de backend dentro de este período de tiempo de espera, se agota el tiempo de espera de Message Processor.
De forma predeterminada, esta propiedad toma el valor establecido para la
Si esta propiedad se modifica con un nuevo valor de tiempo de espera para un proxy de API específico, entonces solo se verá afectado ese proxy de API. |
HTTPTransport.io.timeout.millis
|
Message Processor |
Este es el tiempo máximo durante el cual Message Processor hace lo siguiente:
Si no hay respuesta del servidor de backend dentro de este período de tiempo de espera, se agota el tiempo de espera de 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
Puedes modificar esta propiedad como se explica en
Configura el tiempo de espera de E/S en Message Processor o puedes
reemplazar este valor si configuras la propiedad |
Antes de comenzar
Antes de usar los pasos de este documento, asegúrate de comprender los siguientes temas:
- Si no estás familiarizado con el tiempo de espera de E/S, consulta la descripción de la propiedad
io.timeout.millisen Especificación de la propiedad de transporte de TargetEndpoint. - Si no estás familiarizado con la configuración de propiedades para Edge para la nube privada, lee Cómo configurar Edge.
- Asegúrate de seguir las recomendaciones en Prácticas recomendadas para configurar el tiempo de espera de E/S.
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 de tu 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.
- 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.
- Selecciona el extremo de destino específico que deseas modificar.
- Agrega la propiedad
io.timeout.milliscon un valor adecuado en el<HTTPTargetConnection>elemento en laTargetEndpointconfiguración. - Guarda los cambios realizados en tu proxy de API.
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>Dado que la propiedad io.timeout.millis está 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 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="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>Configura el tiempo de espera de E/S en la política ServiceCallout del proxy de API
En esta sección, se explica cómo configurar el tiempo de espera de E/S en la política ServiceCallout de tu
proxy de API. El tiempo de espera de E/S se puede configurar a través del elemento <Timeout> o la propiedad io.timeout.millis. Tanto el elemento <Timeout> como la propiedad
io.timeout.millis representan 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:
- Elemento
<Timeout> - Propiedad
io.timeout.millis
Elemento de tiempo de espera
Para configurar el tiempo de espera de E/S en la política ServiceCallout con el elemento <Timeout>, haz lo siguiente:
- 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 para la política ServiceCallout.
- Selecciona la política ServiceCallout específica que deseas modificar.
- Agrega el elemento
<Timeout>con un valor adecuado en la<ServiceCallout>configuración.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>
Dado que el elemento
<Timeout>está en milisegundos, el valor de 120 segundos es120000.En el siguiente ejemplo, se muestra cómo configurar el tiempo de espera de E/S en la política ServiceCallout con el elemento
<Timeout>:Ejemplo de configuración de la política ServiceCallout con la URL del 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> - 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 ServiceCallout con la
io.timeout.millis propiedad, haz lo siguiente:
- 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 para la política ServiceCallout.
- Selecciona la política ServiceCallout específica que deseas modificar.
- Agrega la propiedad
io.timeout.milliscon un valor adecuado en el<HTTPTargetConnection>elemento 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>Dado que la propiedad
io.timeout.millisestá en milisegundos, el valor de 120 segundos es120000.En los siguientes ejemplos, se muestra cómo configurar el tiempo de espera de E/S en la configuración del extremo de destino de tu proxy de API:
Ejemplo de configuración de la política ServiceCallout con la URL del 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 ServiceCallout 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> - Guarda los cambios realizados en tu proxy de API.
Configura el tiempo de espera de E/S en Message Processor
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,
con el token según la sintaxis que se describe en
Cómo configurar
Edge.
Para configurar el tiempo de espera de E/S en Message Processor, haz lo siguiente:
- En la máquina 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 el siguiente comando:vi /opt/apigee/customer/application/message-processor.properties
- Agrega una línea en 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, agrega la siguiente línea:
conf_http_HTTPTransport.io.timeout.millis=120000
- Guarda los cambios.
- 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
- Reinicia Message Processor como se muestra a continuación:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Si tienes más de un Message Processor, repite los pasos anteriores en todos los Message Processors.
Verifica el tiempo de espera de E/S en Message Processor
En esta sección, se explica cómo verificar que el tiempo de espera de E/S se haya modificado correctamente en los Message Processor.
Aunque uses el token conf_http_HTTPTransport.io.timeout.millis para configurar el
tiempo de espera de E/S en Message Processor, debes verificar si la propiedad real
HTTPTransport.io.timeout.millis se configuró con el valor nuevo.
- En la máquina Message Processor, busca la propiedad
HTTPTransport.io.timeout.millisen el directorio/opt/apigee/edge-message-processor/confy verifica si se configuró con el valor nuevo, como se muestra a continuación:grep -ri "HTTPTransport.io.timeout.millis" /opt/apigee/edge-message-processor/conf
- Si el nuevo valor de tiempo de espera de E/S se configura correctamente en Message Processor, el comando anterior
muestra el valor nuevo en el archivo
http.properties. - Si aún ves el valor anterior de la propiedad
HTTPTransport.io.timeout.millis, verifica que hayas seguido correctamente todos los pasos que se describen en Configura el tiempo de espera de E/S en Message Processor. Si omitiste algún paso, repite todos los pasos de forma correcta. - Si aún no puedes modificar el tiempo de espera de E/S, comunícate con el equipo de asistencia de Apigee Edge .
El resultado de muestra del comando anterior después de configurar el tiempo de espera de E/S en 120 segundos es el siguiente:
/opt/apigee/edge-message-processor/conf/http.properties:HTTPTransport.io.timeout.millis=120000
En el resultado de ejemplo anterior, observa que la propiedad
HTTPTransport.io.timeout.millis se configuró con el valor nuevo 120000 en
http.properties. Esto indica que el tiempo de espera de E/S se configuró correctamente
en 120 segundos en Message Processor.
Próximos pasos
Obtén información para configurar el tiempo de espera de E/S en los routers.