Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
Questo documento spiega come configurare il timeout di connessione per i processori di messaggi di Apigee Edge.
Il timeout di connessione rappresenta il tempo durante il quale il processore di messaggi attende di stabilire
la connessione con il server di destinazione. Il valore predefinito della proprietà del timeout di connessione nel
processore di messaggi è 3 secondi. Questo periodo di timeout è applicabile ai
server di backend configurati nella configurazione dell'endpoint di destinazione e nella
ServiceCallout policy del proxy API.
Il timeout di connessione per i processori di messaggi può essere aumentato o diminuito rispetto al valore predefinito di 3 secondi in base alle tue esigenze. Può essere configurato nei seguenti modi:
- Nel proxy API
- Nell'endpoint di destinazione
- Nella policy
ServiceCallout
- Nel processore di messaggi
Le seguenti proprietà controllano il timeout di connessione nei processori di messaggi:
| Nome proprietà | Località | Descrizione |
|---|---|---|
connect.timeout.millis |
Proxy API:
|
Questo è il tempo massimo durante il quale il processore di messaggi attende di connettersi al server di destinazione.
Per impostazione predefinita, questa proprietà assume il valore impostato per la
Se questa proprietà viene modificata con un nuovo valore di timeout per il server di destinazione associato a un proxy API, viene interessato solo il tempo di connessione per quel server di destinazione. |
HTTPClient.connect.timeout.millis |
Processore di messaggi |
Questo è il tempo massimo durante il quale il processore di messaggi attende di connettersi al server di destinazione. 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
Configurare il timeout di connessione nei processori di messaggi di seguito oppure puoi sovrascrivere questo valore
impostando la |
Prima di iniziare
Prima di utilizzare i passaggi descritti in questo documento, assicurati di comprendere i seguenti argomenti:
- Se non hai familiarità con il timeout di connessione, consulta la
connect.timeout.millisdescrizione della proprietà in Specifiche della proprietà di trasporto TargetEndpoint. - Se non hai familiarità con la configurazione delle proprietà per Edge su Private Cloud, leggi Come configurare Edge.
Configurare il timeout di connessione nel proxy API
Il timeout di connessione può essere configurato nel proxy API nei seguenti punti:
- Endpoint di destinazione
- Policy
ServiceCallout
Configurare il timeout di connessione nell'endpoint di destinazione del proxy API
Questa sezione spiega come configurare il timeout di connessione nell'endpoint di destinazione del proxy API.
Il timeout di connessione può essere configurato tramite la proprietà connect.timeout.millis,
che rappresenta il valore del timeout di connessione in millisecondi.
- Nell'interfaccia utente di Edge, seleziona il proxy API specifico in cui vuoi configurare il nuovo valore del timeout di connessione.
- Seleziona l'endpoint di destinazione specifico che vuoi modificare.
- Aggiungi la proprietà
connect.timeout.milliscon un valore appropriato sotto l'<HTTPTargetConnection>elemento nellaTargetEndpointconfigurazione.Ad esempio, per modificare il timeout di connessione in
5secondi, aggiungi il seguente blocco di codice:<Properties> <Property name="connect.timeout.millis">5000</Property> </Properties>
Poiché la proprietà
connect.timeout.millisè in millisecondi, il valore per5secondi è5000.Gli esempi riportati di seguito mostrano come configurare il timeout di connessione nella configurazione dell'endpoint di destinazione del proxy API:
Esempio di configurazione dell'endpoint di destinazione che utilizza l'URL per il server di backend
<TargetEndpoint name="default"> <HTTPTargetConnection> <URL>https://mocktarget.apigee.net/json</URL> <Properties> <Property name="connect.timeout.millis">5000</Property> </Properties> </HTTPTargetConnection> </TargetEndpoint>Esempio di configurazione dell'endpoint di destinazione che utilizza il server di destinazione
<TargetEndpoint name="default"> <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Properties> <Property name="connect.timeout.millis">5000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </TargetEndpoint> - Salva le modifiche apportate al proxy API.
Configurare il timeout di connessione nella policy ServiceCallout del proxy API
Questa sezione spiega come configurare il timeout di connessione nella ServiceCallout
policy del proxy API. Il timeout di connessione può essere configurato tramite la
connect.timeout.millis proprietà, che rappresenta il valore del tempo di connessione in
millisecondi.
Per configurare il timeout di connessione nella ServiceCallout policy utilizzando la
connect.timeout.millis proprietà:
- Nell'interfaccia utente di Edge, seleziona il proxy API specifico in cui vuoi configurare il nuovo
valore del timeout di connessione per la policy
ServiceCallout. - Seleziona la policy
ServiceCalloutspecifica che vuoi modificare. - Aggiungi la proprietà
connect.timeout.milliscon un valore appropriato sotto l'<HTTPTargetConnection>elemento nellaTargetEndpointconfigurazione.Ad esempio, per modificare il timeout di connessione in
5secondi, aggiungi il seguente blocco di codice:<Properties> <Property name="connect.timeout.millis">5000</Property> </Properties>
Poiché la proprietà
connect.timeout.millisè in millisecondi, il valore per5secondi è5000.Gli esempi riportati di seguito mostrano come configurare il timeout di connessione nella
ServiceCalloutpolicy del proxy API:Esempio di configurazione della policy ServiceCallout che utilizza l'URL per il server di backend
<ServiceCallout name="Service-Callout-1"> <DisplayName>Service Callout-1</DisplayName> <HTTPTargetConnection> <Properties> <Property name="connect.timeout.millis">5000</Property> </Properties> <URL>https://mocktarget.apigee.net/json</URL> </HTTPTargetConnection> </ServiceCallout>Esempio di configurazione della policy ServiceCallout che utilizza il server di destinazione
<ServiceCallout enabled="true" name="Service-Callout-1"> <DisplayName>Service Callout-1</DisplayName> <Response>calloutResponse</Response> <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Properties> <Property name="connect.timeout.millis">5000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </ServiceCallout> - Salva le modifiche apportate al proxy API.
Configurare il timeout di connessione nei processori di messaggi
Questa sezione spiega come configurare il timeout di connessione nei processori di messaggi.
Il timeout di connessione può essere configurato tramite la proprietà
conf_http_HTTPClient.connect.timeout.millis, che rappresenta il valore del timeout di connessione
in millisecondi nel componente del processore di messaggi, utilizzando il token in base alla
sintassi descritta in
Come configurare Edge.
Per configurare il timeout di connessione nei processori di messaggi:
- Nella macchina del processore di messaggi, apri il seguente file in un editor. Se non esiste
già, crealo.
/opt/apigee/customer/application/message-processor.properties
Ad esempio, per aprire il file utilizzando
vi, inserisci quanto segue:vi /opt/apigee/customer/application/message-processor.properties
- Aggiungi una riga nel seguente formato al file delle proprietà, sostituendo un valore per
TIME_IN_MILLISECONDS:
conf_http_HTTPClient.connect.timeout.millis=TIME_IN_MILLISECONDS
Ad esempio, per modificare il timeout di connessione nel processore di messaggi in
5secondi, aggiungi la seguente riga:conf_http_HTTPClient.connect.timeout.millis=5000
- Salva le modifiche.
- Assicurati che il file delle proprietà sia di proprietà dell'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 hai più di un processore di messaggi, ripeti i passaggi precedenti su tutti i processori di messaggi.
Verificare il timeout di connessione nei processori di messaggi
Questa sezione spiega come verificare che il timeout di connessione sia stato modificato correttamente nei processori di messaggi.
Anche se utilizzi il token conf_http_HTTPClient.connect.timeout.millis per impostare
il timeout di connessione nel processore di messaggi, devi verificare se la proprietà effettiva
HTTPClient.connect.timeout.millis è stata impostata con il nuovo valore.
- Nella macchina del processore di messaggi, cerca la proprietà
HTTPTransport.connect.timeout.millisnella directory/opt/apigee/edge-message-processor/confe verifica se è stata impostata con il nuovo valore, come mostrato di seguito:grep -ri "HTTPClient.connect.timeout.millis" /opt/apigee/edge-message-processor/conf
- Se il nuovo valore del timeout di connessione è stato impostato correttamente nel processore di messaggi, il
comando precedente mostra il nuovo valore nel file
http.properties.Il risultato di esempio del comando precedente dopo aver configurato il timeout di connessione su
5secondi è il seguente:/opt/apigee/edge-message-processor/conf/http.properties:HTTPClient.connect.timeout.millis=5000
Nell'output di esempio riportato sopra, nota che la proprietà
HTTPClient.connect.timeout.millisè stata impostata con il nuovo valore5000inhttp.properties. Ciò indica che il timeout di connessione è stato configurato correttamente su5secondi nel processore di messaggi. - Se continui a visualizzare il vecchio valore per la proprietà
HTTPClient.connect.timeout.millis, verifica di aver seguito correttamente tutti i passaggi descritti in Configurare il timeout di connessione nei processori di messaggi. Se hai saltato un passaggio, ripeti correttamente tutti i passaggi. - Se non riesci ancora a modificare il timeout di connessione, contatta l'assistenza Apigee Edge di Google Cloud .