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:
|
Este es el tiempo máximo durante el que el Message Processor hace lo siguiente:
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 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:
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
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 |
Antes de comenzar
Antes de seguir los pasos de este documento, asegúrate de comprender los siguientes temas:
- Si no conoces el tiempo de espera de E/S, consulta la propiedad
io.timeout.millis
. descripción en Especificación de propiedades de transporte de TargetEndpoint. - Si no sabes cómo configurar propiedades en Edge para la nube privada, lee Cómo configurar Edge
- Asegúrate de seguir las recomendaciones 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 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.
- 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 adecuado en el El elemento<HTTPTargetConnection>
en 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 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>
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:
- 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.
- Selecciona la política ServiceTexto destacado que deseas modificar.
- 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 es120000
.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>
- 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:
- 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.
- Selecciona la política ServiceTexto destacado que deseas 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 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>
- 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:
- 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
- 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
- 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 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.
- 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
- 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
. - 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. - Si aún no puedes modificar el tiempo de espera de E/S, comunícate con Asistencia de Apigee Edge.
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.
¿Qué sigue?
Más información sobre Configura el tiempo de espera de E/S en los routers