Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
Questo documento spiega come configurare il timeout keep-alive per i processori di messaggi di Apigee Edge.
Il timeout keep-alive sul processore di messaggi consente a una singola connessione TCP di inviare e ricevere più richieste/risposte HTTP dal/al server di backend, anziché aprire una nuova connessione per ogni coppia richiesta/risposta.
Il valore predefinito della proprietà di timeout keep-alive sul processore di messaggi è
60 secondi. Questo periodo di timeout è applicabile ai server di backend configurati
nella configurazione dell'endpoint di destinazione e nella policy ServiceCallout del proxy API.
Il timeout keep-alive per i processori di messaggi può essere aumentato o diminuito rispetto al valore predefinito
di 60 secondi in base alle tue esigenze. Può essere configurato nei seguenti modi:
- Nel proxy API
- Nell'endpoint di destinazione
- Nella policy
ServiceCallout
- Sul processore di messaggi
Le seguenti proprietà controllano il timeout keep-alive sui processori di messaggi:
| Nome proprietà | Località | Descrizione |
|---|---|---|
keepalive.timeout.millis |
Proxy API:
|
Questo è il tempo di inattività massimo per il quale il processore di messaggi consente a una singola connessione TCP di inviare e ricevere più richieste/risposte HTTP, anziché aprire una nuova connessione per ogni coppia richiesta/risposta. 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 utilizzato nell'
endpoint di destinazione o nella |
HTTPClient.keepalive.timeout.millis |
Processore di messaggi |
Questo è il tempo di inattività massimo per il quale il processore di messaggi consente a una singola connessione TCP di inviare e ricevere più richieste/risposte HTTP, anziché aprire una nuova connessione per ogni coppia richiesta/risposta. 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 di seguito in
Configurare il timeout keep-alive sui processori di messaggi
oppure puoi sovrascrivere questo valore impostando la |
Prima di iniziare
Prima di seguire i passaggi descritti in questo documento, assicurati di comprendere i seguenti argomenti:
- Se non hai familiarità con il timeout keep-alive, consulta la
keepalive.timeout.millisdescrizione della proprietà in TargetEndpoint Transport Property Specification. - Se non hai familiarità con la configurazione delle proprietà per Edge su Private Cloud, leggi How to configure Edge.
Configurare il timeout keep-alive nel proxy API
Il timeout keep-alive può essere configurato nel proxy API nei seguenti punti:
- Endpoint di destinazione
- Policy
ServiceCallout
Configurare il timeout keep-alive nell'endpoint di destinazione del proxy API
Questa sezione spiega come configurare il timeout keep-alive nell'endpoint di destinazione del tuo
proxy API. Il timeout keep-alive può essere configurato tramite la proprietà
keepalive.timeout.millis, che rappresenta il valore di timeout keep-alive in
millisecondi.
- Nell'interfaccia utente di Edge, seleziona il proxy API specifico in cui vuoi configurare il nuovo valore di timeout keep-alive.
- Seleziona l'endpoint di destinazione specifico che vuoi modificare.
-
Aggiungi la proprietà
keepalive.timeout.milliscon un valore appropriato sotto l'<HTTPTargetConnection>elemento nellaTargetEndpointconfigurazione.Ad esempio, per modificare il timeout keep-alive in
30secondi, aggiungi il seguente blocco di codice:<Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties>
Poiché la proprietà
keepalive.timeout.millisè in millisecondi, il valore per30secondi è30000.Gli esempi seguenti mostrano come configurare il timeout keep-alive nella configurazione dell'endpoint di destinazione 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="keepalive.timeout.millis">30000</Property> </Properties> </HTTPTargetConnection> </TargetEndpoint>Esempio di configurazione dell'endpoint di destinazione utilizzando il server di destinazione
<TargetEndpoint name="default"> <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </TargetEndpoint> - Salva le modifiche apportate al proxy API.
Configurare il timeout keep-alive nella policy ServiceCallout del proxy API
Questa sezione spiega come configurare il timeout keep-alive nella
ServiceCallout policy del proxy API. Il timeout keep-alive può essere
configurato tramite la proprietà the keepalive.timeout.millis che rappresenta
il valore di timeout keep-alive in millisecondi.
Per configurare il timeout keep-alive nella policy ServiceCallout utilizzando la
keepalive.timeout.millis proprietà:
- Nell'interfaccia utente di Edge, seleziona il proxy API specifico in cui vuoi configurare il nuovo
valore di timeout keep-alive per la policy
ServiceCallout. - Seleziona la policy
ServiceCalloutspecifica che vuoi modificare. - Aggiungi la proprietà
keepalive.timeout.milliscon un valore appropriato sotto l'<HTTPTargetConnection>elemento nellaTargetEndpointconfigurazione.Ad esempio, per modificare il timeout keep-alive in
30secondi, aggiungi il seguente blocco di codice:<Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties>
Poiché la proprietà
keepalive.timeout.millisè in millisecondi, il valore per30secondi è30000.Gli esempi seguenti mostrano come configurare il timeout keep-alive nella
ServiceCalloutpolicy del proxy API:Esempio di configurazione della policy ServiceCallout utilizzando l'URL per il server di backend
<ServiceCallout name="Service-Callout-1"> <DisplayName>Service Callout-1</DisplayName> <HTTPTargetConnection> <Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties> <URL>https://mocktarget.apigee.net/json</URL> </HTTPTargetConnection> </ServiceCallout>Esempio di configurazione della policy ServiceCallout utilizzando 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="keepalive.timeout.millis">30000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </ServiceCallout> - Salva le modifiche apportate al proxy API.
Configurare il timeout keep-alive sui processori di messaggi
Questa sezione spiega come configurare il timeout keep-alive sui processori di messaggi. Il
timeout keep-alive può essere configurato tramite la proprietà
HTTPClient.keepalive.timeout.millis, che rappresenta il valore di timeout keep-alive
in millisecondi sul componente del processore di messaggi. Poiché questa proprietà è commentata su
processore di messaggi, devi utilizzare la sintassi speciale
conf/http.properties+HTTPClient.keepalive.timeout.millis come descritto nella sezione
Set a token that is currently commented out in
How to configure Edge.
Per configurare il timeout keep-alive sui processori di messaggi:
- Sulla 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.properties+HTTPClient.keepalive.timeout.millis=TIME_IN_MILLISECONDS
Ad esempio, per modificare il timeout keep-alive sul processore di messaggi in
30secondi, aggiungi la seguente riga:conf/http.properties+HTTPClient.keepalive.timeout.millis=30000
- Salva le modifiche.
- Assicurati che il file delle proprietà sia di proprietà dell'utente
apigeecome 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 keep-alive sui processori di messaggi
Questa sezione spiega come verificare che il timeout keep-alive sia stato modificato correttamente sui processori di messaggi.
Anche se utilizzi la sintassi speciale
conf/http.properties+HTTPClient.keepalive.timeout.millis per impostare il timeout keep-alive
sul processore di messaggi, devi verificare se la proprietà effettiva
HTTPClient.keepalive.timeout.millis è stata impostata con il nuovo valore.
- Sulla macchina del processore di messaggi, cerca la proprietà
HTTPClient.keepalive.timeout.millisnella directory/opt/apigee/edge-message-processor/confe verifica se è stata impostata con il nuovo valore come mostrato di seguito:grep -ri "HTTPClient.keepalive.timeout.millis" /opt/apigee/edge-message-processor/conf
-
Se il nuovo valore di timeout keep-alive è stato impostato correttamente sul processore di messaggi, allora il comando precedente mostra il nuovo valore nel file
http.properties.Il risultato di esempio del comando precedente dopo aver configurato il timeout keep-alive su
30secondi è il seguente:/opt/apigee/edge-message-processor/conf/http.properties:HTTPClient.keepalive.timeout.millis=30000
Nell'output di esempio riportato sopra, nota che la proprietà
HTTPClient.keepalive.timeout.millisè stata impostata con il nuovo valore30000inhttp.properties. Ciò indica che il timeout keep-alive è stato configurato correttamente su30secondi sul processore di messaggi. - Se continui a visualizzare il vecchio valore per la proprietà
HTTPClient.keepalive.timeout.millis, verifica di aver seguito correttamente tutti i passaggi descritti in Configurare il timeout keep-alive sui processori di messaggi. Se hai saltato un passaggio, ripeti correttamente tutti i passaggi. - Se non riesci ancora a modificare il timeout keep-alive, contatta l'assistenza Apigee Edge di Google Cloud.