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 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 este procesador espera recibir una respuesta del servidor de backend o que el socket esté listo para escribir una solicitud al servidor de backend antes de agotar 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
se aplica
a los servidores de backend establecidos en la configuración del extremo de destino y en la política ServiceReferencia
del proxy de API.
El tiempo de espera de E/S para Message Processor se puede aumentar o disminuir con respecto al 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 procesador de mensajes
Las siguientes propiedades controlan el tiempo de espera de E/S en los procesadores de mensajes:
Nombre de propiedad | Location | 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 tiempo de espera, se agota el tiempo de espera de Message Processor.
De forma predeterminada, esta propiedad toma el valor establecido para la propiedad Si esta propiedad se modifica con un valor de tiempo de espera nuevo para un proxy de API específico, solo se verá afectado ese proxy. |
HTTPTransport.io.timeout.millis
|
Procesador de mensajes |
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 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 seguir 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.millis
en la Especificación de la propiedad de transporte de TargetEndpoint. - Si no estás familiarizado con la configuración de propiedades de Edge para la nube privada, consulta Cómo configurar Edge.
- Asegúrate de seguir las recomendaciones que se indican 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 la 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 del 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.millis
con un valor apropiado en el elemento<HTTPTargetConnection>
de la configuraciónTargetEndpoint
. - 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>
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 la configuración del extremo de destino del proxy de 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="io.timeout.millis">120000</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="io.timeout.millis">120000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </TargetEndpoint>
Configuración del tiempo de espera de E/S en la política ServiceReferencia del proxy de API
En esta sección, se explica cómo configurar el tiempo de espera de E/S en la política ServiceReferencia de tu proxy de API. El tiempo de espera de E/S se puede configurar mediante el elemento <Timeout>
o la propiedad io.timeout.millis
. El elemento <Timeout>
y la propiedad io.timeout.millis
representan los valores de tiempo de espera de E/S en milisegundos.
Puede configurar el tiempo de espera de E/S en la política ServiceReferencia mediante 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 ServiceReferencia mediante 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 ServiceReferencia.
- Selecciona la política específica de ServiceFeatured que quieres modificar.
- Agrega el elemento
<Timeout>
con un valor apropiado en la configuración<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>
se expresa 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 ServiceFeatured con el elemento
<Timeout>
:Ejemplo de configuración de la política ServiceReferencia 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>
- 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 ServiceReferencia mediante la propiedad io.timeout.millis
, 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 ServiceReferencia.
- Selecciona la política específica de ServiceFeatured que quieres modificar.
- 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 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 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>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 ServiceReferencia con un 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 los procesadores de mensajes.
El tiempo de espera de E/S se puede configurar mediante la propiedad HTTPTransport.io.timeout.millis
, que representa el valor de tiempo de espera de E/S 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 E/S en Message Processor, haz lo siguiente:
- 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 el siguiente comando:vi /opt/apigee/customer/application/message-processor.properties
- Agrega una línea en el siguiente formato al archivo de propiedades y reemplaza 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 de
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 ellos.
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 de forma correcta en Message Processor.
Aunque uses el token conf_http_HTTPTransport.io.timeout.millis
para establecer el tiempo de espera de E/S en Message Processor, debes verificar si se configuró la propiedad real HTTPTransport.io.timeout.millis
con el valor nuevo.
- En la máquina de Message Processor, busca la propiedad
HTTPTransport.io.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 "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 mostrará el valor nuevo en el archivo
http.properties
. - Si aún ves el valor anterior de la propiedad
HTTPTransport.io.timeout.millis
, verifica si seguiste todos los pasos descritos en Configura el tiempo de espera de E/S en Message Processor de manera correcta. Si omitiste algún paso, repite todos los pasos de nuevo 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 estableció 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.
Pasos siguientes
Obtén más información sobre la configuración del tiempo de espera de E/S en routers