Stai visualizzando la documentazione di Apigee Edge.
Vai alla
documentazione di Apigee X. informazioni
Questo documento spiega come configurare il timeout keep-alive per i processori di messaggi Apigee Edge.
Il timeout keep-alive sul processore di messaggi consente a una singola connessione TCP di inviare e ricevere più richieste/risposte HTTP da/al server di backend, invece di aprire una nuova connessione per ogni coppia di 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 nel criterio ServiceCallout
del proxy API.
Il timeout di keep-alive per i processori di messaggi può essere aumentato o diminuito dal valore predefinito di 60
secondi in base alle tue esigenze. Può essere configurato nei seguenti modi:
- Nel proxy API:
- Nell'endpoint di destinazione
- Nel criterio
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, invece di aprire una nuova connessione per ogni coppia di richiesta/risposta. Per impostazione predefinita, questa proprietà accetta il valore impostato per la
proprietà Se questa proprietà viene modificata con un nuovo valore di timeout per il server di destinazione utilizzato
nell'endpoint di destinazione o nel criterio |
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 di richiesta/risposta. Questa proprietà viene utilizzata per tutti i proxy API in esecuzione su questo processore di messaggi. Il valore predefinito di questa proprietà è di Puoi modificare questa proprietà come spiegato nella sezione Configurare il timeout keep-alive sui processori di messaggi di seguito oppure puoi sovrascrivere questo valore impostando la proprietà |
Prima di iniziare
Prima di seguire la procedura descritta in questo documento, assicurati di comprendere i seguenti argomenti:
- Se non hai dimestichezza con il timeout keep-alive, consulta la descrizione della proprietà
keepalive.timeout.millis
nella specifica della proprietà TargetEndpoint Transport. - Se non hai familiarità con la configurazione delle proprietà per Edge su Cloud privato, leggi Come configurare Edge.
Configurazione del timeout keep-alive nel proxy API
Il timeout keep-alive può essere configurato nel proxy API nelle seguenti posizioni:
- Endpoint di destinazione
ServiceCallout
criterio
Configurazione del timeout keep-alive nell'endpoint di destinazione del proxy API
Questa sezione spiega come configurare il timeout keep-alive nell'endpoint di destinazione del 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.
- Nella UI 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.millis
con un valore appropriato sotto l'elemento<HTTPTargetConnection>
nella configurazioneTargetEndpoint
.Ad esempio, per modificare il timeout di keep-alive in
30
secondi, aggiungi il seguente blocco di codice:<Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties>
Poiché la proprietà
keepalive.timeout.millis
è espressa in millisecondi, il valore di30
secondi è30000
.I seguenti esempi 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.
Configurazione del timeout keep-alive nel criterio ServiceCallout del proxy API
Questa sezione spiega come configurare il timeout keep-alive nel criterio ServiceCallout
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 nel criterio ServiceCallout
utilizzando la
proprietà keepalive.timeout.millis
:
- Nella UI di Edge, seleziona il proxy API specifico in cui vuoi configurare il nuovo valore di timeout keep-alive per il criterio
ServiceCallout
. - Seleziona il criterio
ServiceCallout
specifico che vuoi modificare. - Aggiungi la proprietà
keepalive.timeout.millis
con un valore appropriato sotto l'elemento<HTTPTargetConnection>
nella configurazioneTargetEndpoint
.Ad esempio, per modificare il timeout di keep-alive in
30
secondi, aggiungi il seguente blocco di codice:<Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties>
Poiché la proprietà
keepalive.timeout.millis
è espressa in millisecondi, il valore di30
secondi è30000
.I seguenti esempi mostrano come configurare il timeout keep-alive nel criterio
ServiceCallout
del proxy API:Esempio di configurazione dei criteri di 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 dei criteri di 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.
Configurazione del timeout keep-alive sui processori di messaggi
Questa sezione spiega come configurare il timeout keep-alive sui processori di messaggi. Il timeout di keep-alive può essere configurato tramite la proprietà HTTPClient.keepalive.timeout.millis
, che rappresenta il valore di timeout keep-alive in millisecondi sul componente Message Processor. Poiché questa proprietà è commentata sul
processore di messaggi, devi utilizzare la sintassi speciale
conf/http.properties+HTTPClient.keepalive.timeout.millis
, come descritto nella sezione
Impostare un token attualmente commentato in
Come configurare Edge.
Per configurare il timeout keep-alive sui processori di messaggi, procedi nel seguente modo:
- Nel computer 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 formato seguente 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 a
30
secondi, 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
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 disponi di più processori di messaggi, ripeti i passaggi precedenti su tutti i processori di messaggi.
Verifica del timeout di 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.
- Nel computer del processore di messaggi, cerca la proprietà
HTTPClient.keepalive.timeout.millis
nella directory/opt/apigee/edge-message-processor/conf
e controlla 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 viene impostato correttamente sul processore di messaggi, il comando riportato sopra mostra il nuovo valore nel file
http.properties
.Il risultato di esempio del comando riportato sopra, dopo che hai configurato il timeout keep-alive su
30
secondi, è 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 valore30000
inhttp.properties
. Ciò indica che il timeout keep-alive è stato configurato correttamente su30
secondi sul processore di messaggi. - Se vedi ancora il valore precedente 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 qualche passaggio, ripeti correttamente tutti i passaggi. - Se ancora non sei in grado di modificare il timeout di keep-alive, contatta l'assistenza Apigee Edge di Google Cloud.