Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione
Documentazione di Apigee X. Informazioni
Questo documento spiega come configurare il timeout di I/O per i processori di messaggi Apigee Edge.
Il timeout I/O sul processore di messaggi rappresenta il tempo per cui il processore di messaggi attende di ricevere una risposta dal server di backend o che il socket sia pronto per scrivere una richiesta al server di backend prima che scada.
Il valore predefinito del timeout del processore di messaggi I/O è 55 seconds
. Questo timeout
periodo applicabile
ai server di backend configurati nella configurazione dell'endpoint di destinazione e nel ServiceCallout
del proxy API.
Il timeout I/O per i processori di messaggi può essere aumentato o diminuito rispetto al valore predefinito
55 seconds
in base alle tue esigenze. Può essere configurato nelle seguenti posizioni:
- Nel proxy API
- Endpoint di destinazione
- Norme ServiceCallout
- Sul processore di messaggi
Le seguenti proprietà controllano il timeout di I/O sui processori di messaggi:
Nome proprietà | Località | Descrizione |
---|---|---|
io.timeout.millis
|
Proxy API:
|
Questo è il periodo di tempo massimo durante il quale il processore di messaggi esegue le seguenti operazioni:
Se il server di backend non risponde entro questo periodo di timeout, il parametro Timeout del processore di messaggi.
Per impostazione predefinita, questa proprietà utilizza il valore impostato per
Proprietà Se questa proprietà viene modificata con un nuovo valore di timeout per un proxy API specifico, solo questo proxy API è interessato. |
HTTPTransport.io.timeout.millis
|
processore di messaggi |
Questo è il periodo di tempo massimo durante il quale il processore di messaggi esegue le seguenti operazioni:
Se il server di backend non risponde entro questo periodo di timeout, il parametro Timeout del processore di messaggi. Questa proprietà viene utilizzata per tutti i proxy API in esecuzione su questo processore di messaggi.
Il valore predefinito di questa proprietà è
Puoi modificare questa proprietà come spiegato in
Configura il timeout I/O sui processori di messaggi oppure
sovrascrivere questo valore impostando la proprietà |
Prima di iniziare
Prima di seguire la procedura descritta in questo documento, assicurati di aver compreso i seguenti argomenti:
- Se non hai familiarità con il timeout di I/O, consulta la proprietà
io.timeout.millis
descrizione in Specifica della proprietà di trasporto di TargetEndpoint. - Se non hai familiarità con la configurazione delle proprietà per Edge per Private Cloud, leggi Come configurare Edge.
- Assicurati di seguire i consigli in Best practice per la configurazione del timeout di I/O.
Configurazione del timeout di I/O nel proxy API
Il timeout di I/O può essere configurato nelle seguenti posizioni del proxy API:
- Endpoint di destinazione
- Norme ServiceCallout
Configurazione del timeout I/O nell'endpoint di destinazione del proxy API
Questa sezione spiega come configurare il timeout I/O nell'endpoint di destinazione del proxy API.
Il timeout di I/O può essere configurato tramite la proprietà io.timeout.millis
, che
rappresenta il valore di timeout I/O in millisecondi.
- Nella UI Edge, seleziona il proxy API specifico in cui desideri configurare il nuovo Valore di timeout I/O.
- Seleziona l'endpoint di destinazione specifico che vuoi modificare.
- Aggiungi la proprietà
io.timeout.millis
con un valore appropriato sotto il campo Elemento<HTTPTargetConnection>
nella configurazioneTargetEndpoint
. - Salva le modifiche apportate al proxy API.
Ad esempio, per impostare il timeout I/O su 120 secondi, aggiungi il seguente blocco di codice:
<Properties> <Property name="io.timeout.millis">120000</Property> </Properties>
Poiché la proprietà io.timeout.millis
è in millisecondi, il valore di
120 secondi corrispondono a 120000
.
Gli esempi seguenti mostrano come configurare il timeout di I/O nell'endpoint di destinazione configurazione del proxy API:
Esempio di configurazione dell'endpoint di destinazione utilizzando l'URL per il server di backend
<TargetEndpoint name="default"> <HTTPTargetConnection> <URL>https://mocktarget.apigee.net/json</URL> <Properties> <Property name="io.timeout.millis">120000</Property> </Properties> </HTTPTargetConnection> </TargetEndpoint>
Esempio di configurazione di endpoint di destinazione utilizzando il server di destinazione
<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>
Configurazione del timeout I/O nel criterio ServiceCallout del proxy API
Questa sezione spiega come configurare il timeout I/O nel criterio ServiceCallout del tuo
proxy API. Il timeout di I/O può essere configurato tramite l'elemento <Timeout>
o la proprietà io.timeout.millis
. Sia l'elemento <Timeout>
che
io.timeout.millis
rappresenta i valori di timeout di I/O in millisecondi.
Puoi configurare il timeout di I/O nel criterio ServiceCallout utilizzando uno dei seguenti metodi:
- Elemento
<Timeout>
. io.timeout.millis
proprietà.
Timeout elemento
Per configurare il timeout di I/O nel criterio ServiceCallout utilizzando il <Timeout>
procedi nel seguente modo:
- Nella UI Edge, seleziona il proxy API specifico in cui desideri configurare nuovo valore di timeout I/O per il criterio ServiceCallout.
- Seleziona lo specifico criterio ServiceCallout che vuoi modificare.
- Aggiungi l'elemento
<Timeout>
con un valore appropriato sotto i Configurazione di<ServiceCallout>
.Ad esempio, per impostare il timeout I/O su 120 secondi, aggiungi la seguente riga di codice:
<Timeout>120000</Timeout>
Poiché l'elemento
<Timeout>
è in millisecondi, il valore di 120 secondi corrispondono a120000
.L'esempio seguente mostra come configurare il timeout I/O in ServiceCallout criterio utilizzando l'elemento
<Timeout>
:Esempio di configurazione di criteri ServiceCallout con l'URL del server di backend
<ServiceCallout name="Service-Callout-1"> <DisplayName>ServiceCallout-1</DisplayName> <Timeout>120000</Timeout> <HTTPTargetConnection> <Properties/> <URL>https://mocktarget.apigee.net/json</URL> </HTTPTargetConnection> </ServiceCallout>
- Salva le modifiche apportate al proxy API.
proprietà io.timeout.millis
Per configurare il timeout di I/O nel criterio ServiceCallout utilizzando il metodo
io.timeout.millis
, segui questi passaggi:
- Nella UI Edge, seleziona il proxy API specifico in cui desideri configurare il nuovo valore di timeout I/O per il criterio ServiceCallout.
- Seleziona lo specifico criterio ServiceCallout che vuoi modificare.
- Aggiungi la proprietà
io.timeout.millis
con un valore appropriato sotto il campo Elemento<HTTPTargetConnection>
nella configurazione TargetEndpoint.Ad esempio, per impostare il timeout I/O su 120 secondi, aggiungi il seguente blocco del codice:
<Properties> <Property name="io.timeout.millis">120000</Property> </Properties>
Poiché la proprietà
io.timeout.millis
è in millisecondi, il valore di 120 secondi corrispondono a120000
.Gli esempi seguenti mostrano come configurare il timeout di I/O nell'endpoint di destinazione configurazione del proxy API:
Esempio di configurazione di criteri ServiceCallout con l'URL del server di 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>
Esempio di configurazione di criteri ServiceCallout con l'utilizzo del server di destinazione
<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>
- Salva le modifiche apportate al proxy API.
Configurazione del timeout di I/O sui processori di messaggi
Questa sezione spiega come configurare il timeout I/O sui processori di messaggi.
Il timeout di I/O può essere configurato tramite la proprietà HTTPTransport.io.timeout.millis
,
che rappresenta il valore di timeout di I/O in millisecondi sul componente Processore di messaggi,
utilizzando il token in base alla sintassi descritta
Come configurare
Edge.
Per configurare il timeout di I/O sui processori di messaggi:
- Sul computer del processore di messaggi, apri il file seguente in un editor. In caso contrario
esiste già, quindi lo creeremo.
/opt/apigee/customer/application/message-processor.properties
Ad esempio, per aprire il file utilizzando
vi
, inserisci questo comando:vi /opt/apigee/customer/application/message-processor.properties
- Aggiungi al file delle proprietà una riga nel formato seguente, sostituendo il valore per
TIME_IN_MILLISECONDS:
conf_http_HTTPTransport.io.timeout.millis=TIME_IN_MILLISECONDS
Ad esempio, per impostare su 120 secondi il timeout I/O sul processore di messaggi: aggiungi la seguente riga:
conf_http_HTTPTransport.io.timeout.millis=120000
- Salva le modifiche.
- Verifica che il file delle proprietà appartenga all'utente
apigee
, come mostrato di seguito:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Riavvia il processore di messaggi come mostrato di seguito:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Se utilizzi più di un processore di messaggi, ripeti i passaggi precedenti su tutte le Processori.
Verifica del timeout di I/O sui processori di messaggi
Questa sezione spiega come verificare che il timeout di I/O sia stato modificato correttamente Processori di messaggi.
Anche se utilizzi il token conf_http_HTTPTransport.io.timeout.millis
per impostare
Timeout I/O sul processore di messaggi, devi verificare se la proprietà effettiva
HTTPTransport.io.timeout.millis
è stato impostato con il nuovo valore.
- Sul computer dell'elaboratore di messaggi, cerca la proprietà
HTTPTransport.io.timeout.millis
nella directory/opt/apigee/edge-message-processor/conf
e controlla se sia stato impostato con il nuovo valore come mostrato di seguito:grep -ri "HTTPTransport.io.timeout.millis" /opt/apigee/edge-message-processor/conf
- Se il nuovo valore di timeout I/O viene impostato correttamente sul processore di messaggi, quanto riportato sopra
mostra il nuovo valore nel file
http.properties
. - Se visualizzi ancora il valore precedente per la proprietà
HTTPTransport.io.timeout.millis
, quindi verifica di aver seguito tutti i passaggi descritti nella Configurare correttamente il timeout di I/O sui processori di messaggi. Se disponi hai saltato un passaggio, ripeti tutti i passaggi correttamente. - Se ancora non riesci a modificare il timeout di I/O, contatta Assistenza Apigee Edge.
Il risultato di esempio del comando precedente dopo aver configurato il timeout I/O su 120 secondi è il seguente:
/opt/apigee/edge-message-processor/conf/http.properties:HTTPTransport.io.timeout.millis=120000
Nell'output di esempio precedente, nota che la proprietà
HTTPTransport.io.timeout.millis
è stato impostato con il nuovo valore 120000
in
http.properties
. Questo indica che il timeout di I/O è stato configurato correttamente
fino a 120 secondi sul processore di messaggi.
Passaggi successivi
Informazioni su Configurare il timeout di I/O sui router