Configurazione del timeout di conservazione attiva sui processori di messaggi

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

Questo documento spiega come configurare il timeout keepalive per Apigee Edge Processori di messaggi.

Il timeout keepalive sul processore di messaggi consente a una singola connessione TCP di inviare e ricevono più richieste/risposte HTTP da/verso il server di backend, invece di aprire un nuovo per ogni coppia richiesta/risposta.

Il valore predefinito della proprietà di timeout keep alive nel 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 tuo proxy API.

Il timeout keepalive 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
    • 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:
  • Endpoint di destinazione
  • Criterio ServiceCallout

Questo è il tempo di inattività massimo durante il quale il processore di messaggi consente un singolo connessione per inviare e ricevere più richieste/risposte HTTP, invece di aprire una nuova per ogni coppia richiesta/risposta.

Per impostazione predefinita, questa proprietà utilizza il valore impostato per HTTPClient.keepalive.timeout.millis nel processore di messaggi, dove il valore predefinito è 60 secondi.

Se questa proprietà viene modificata con un nuovo valore di timeout per il server di destinazione utilizzato in endpoint di destinazione o il criterio ServiceCallout nel proxy API specifico, il valore keep-alive solo per quel server di destinazione specifico.

HTTPClient.keepalive.timeout.millis processore di messaggi

Questo è il tempo di inattività massimo durante il quale il processore di messaggi consente un singolo connessione per inviare e ricevere più richieste/risposte HTTP, invece di aprire una 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à è 60 secondi.

Puoi modificare questa proprietà come spiegato in Configurare il timeout keepalive sui processori di messaggi di seguito oppure puoi sovrascrivere questo valore impostando la proprietà keepalive.timeout.millis a livello di proxy API.

Prima di iniziare

Prima di seguire la procedura descritta in questo documento, assicurati di aver compreso i seguenti argomenti:

di Gemini Advanced.

Configurazione del timeout keep-alive nel proxy API

Il timeout keep-alive può essere configurato nel proxy API nelle seguenti posizioni:

  • Endpoint di destinazione
  • Criterio ServiceCallout

Configurazione del timeout keepalive nell'endpoint di destinazione del proxy API

Questa sezione spiega come configurare il timeout keepalive nell'endpoint di destinazione della tua proxy API. Il timeout keep-alive può essere configurato tramite la proprietà keepalive.timeout.millis, che rappresenta il valore di timeout keepalive in millisecondi.

di Gemini Advanced.
  1. Nella UI Edge, seleziona il proxy API specifico in cui desideri configurare il nuovo il valore di mantenimento attivo del timeout.
  2. Seleziona l'endpoint di destinazione specifico che vuoi modificare.
  3. Aggiungi la proprietà keepalive.timeout.millis con un valore appropriato nel campo Elemento <HTTPTargetConnection> nella configurazione TargetEndpoint.

    Ad esempio, per impostare il timeout keep alive su 30 secondi, 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 di 30 secondi corrispondono a 30000.

    I seguenti esempi mostrano come configurare il timeout keep alive 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="keepalive.timeout.millis">30000</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="keepalive.timeout.millis">30000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </TargetEndpoint>
    
  4. 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 keepalive nella 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 keepalive in millisecondi.

di Gemini Advanced.

Per configurare il timeout keepalive nel criterio ServiceCallout utilizzando il Proprietà keepalive.timeout.millis:

  1. Nella UI Edge, seleziona il proxy API specifico in cui desideri configurare il nuovo mantieni il valore di timeout attivo per il criterio ServiceCallout.
  2. Seleziona il criterio ServiceCallout specifico che vuoi modificare.
  3. Aggiungi la proprietà keepalive.timeout.millis con un valore appropriato sotto il campo Elemento <HTTPTargetConnection> nella configurazione TargetEndpoint.

    Ad esempio, per modificare il timeout 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 è in millisecondi, il valore di 30 secondi corrispondono a 30000.

    I seguenti esempi mostrano come configurare il timeout keep alive nella Criterio ServiceCallout del tuo proxy API:

    Esempio di configurazione di criteri ServiceCallout con l'URL del 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 di criteri ServiceCallout con l'utilizzo del 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>
    
  4. Salva le modifiche apportate al proxy API.

Configurazione del timeout keepalive sui processori di messaggi

Questa sezione spiega come configurare il timeout keepalive sui processori di messaggi. La il timeout keepalive può essere configurato tramite la proprietà HTTPClient.keepalive.timeout.millis, che rappresenta il timeout keep-alive in millisecondi sul componente Processore di messaggi. Poiché questa struttura è commentata devi usare la sintassi speciale conf/http.properties+HTTPClient.keepalive.timeout.millis come descritto nella sezione Imposta un token attualmente commentato in Come configurare Edge.

Per configurare il timeout keepalive sui processori di messaggi, segui questi passaggi:

  1. Sul computer del processore di messaggi, apri il file seguente 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
    
  2. Aggiungi al file delle proprietà una riga nel formato seguente, sostituendo il valore per TIME_IN_MILLISECONDS:
    conf/http.properties+HTTPClient.keepalive.timeout.millis=TIME_IN_MILLISECONDS
    

    Ad esempio, per cambiare il timeout keepalive sul processore di messaggi in 30 secondi, aggiungi la riga seguente:

    conf/http.properties+HTTPClient.keepalive.timeout.millis=30000
    
  3. Salva le modifiche.
  4. Verifica che il file delle proprietà appartenga all'utente apigee, come mostrato di seguito:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Riavvia il processore di messaggi come mostrato di seguito:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Se utilizzi più di un processore di messaggi, ripeti i passaggi precedenti su tutte Processori di messaggi.

Verifica del timeout keepalive sui processori di messaggi in corso...

Questa sezione spiega come verificare che il timeout keepalive sia stato modificato dei processori di messaggi.

Anche se utilizzi la sintassi speciale conf/http.properties+HTTPClient.keepalive.timeout.millis per impostare il keep-alive sul processore di messaggi, devi verificare se la proprietà effettiva HTTPClient.keepalive.timeout.millis è stato impostato con il nuovo valore.

  1. Cerca la proprietà sul computer HTTPClient.keepalive.timeout.millis in directory /opt/apigee/edge-message-processor/conf e controlla se è sia stato impostato con il nuovo valore come mostrato di seguito:
    grep -ri "HTTPClient.keepalive.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. Se il nuovo valore di timeout keepalive viene impostato correttamente sul 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 keepalive a 30 secondi è il seguente:

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPClient.keepalive.timeout.millis=30000
    

    Nell'output di esempio precedente, nota che la proprietà HTTPClient.keepalive.timeout.millis è stato impostato con il nuovo valore 30000 a http.properties. Questo indica che il keep-alive il timeout è stato configurato correttamente su 30 secondi nel processore di messaggi.

  3. Se visualizzi ancora il valore precedente per la proprietà HTTPClient.keepalive.timeout.millis, quindi verifica di aver seguito tutti i passaggi descritti in Configurazione del timeout keepalive sui processori di messaggi in modo corretto. Se hai saltato qualche passaggio, ripeti tutti i passaggi correttamente.
  4. Se non riesci ancora a modificare il timeout keepalive, contatta Assistenza Apigee Edge di Google Cloud.