Configurazione del timeout della connessione su Elaboratori dei messaggi

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

Questo documento spiega come configurare il timeout della connessione per i processori di messaggi Apigee Edge.

Il timeout della connessione rappresenta il tempo per il quale il processore di messaggi attende prima di stabilire connessione con il server di destinazione. Il valore predefinito della proprietà di timeout della connessione nella Il processore di messaggi ha una durata di 3 secondi. Il periodo di timeout è applicabile ai di backend configurati nella configurazione dell'endpoint di destinazione Criterio ServiceCallout del proxy API.

Il timeout della 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
    • Nel criterio ServiceCallout
  • Sul processore di messaggi
di Gemini Advanced.

Le seguenti proprietà controllano il timeout della connessione sui processori di messaggi:

Nome proprietà Località Descrizione
connect.timeout.millis Proxy API:
  • Endpoint di destinazione
  • Criterio ServiceCallout

Questo è il tempo massimo che il processore di messaggi attende per connettersi al server di destinazione.

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

Se questa proprietà viene modificata con un nuovo valore di timeout per il server di destinazione associato con un proxy API, viene influenzata solo l'ora di connessione per quel server di destinazione.

HTTPClient.connect.timeout.millis processore di messaggi

Questo è il tempo massimo che il processore di messaggi attende per 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à è 3 secondi.

Puoi modificare questa proprietà come spiegato in Configura il timeout della connessione sui processori di messaggi di seguito. In alternativa, puoi sovrascrivere questo valore impostando la proprietà connect.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:

Configurazione del timeout della connessione nel proxy API

Il timeout della connessione può essere configurato nel proxy API nelle seguenti posizioni:

  • Endpoint di destinazione
  • Criterio ServiceCallout

Configurazione del timeout della connessione nell'endpoint di destinazione del proxy API

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

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

    Ad esempio, per modificare il timeout della connessione in 5 secondi, aggiungi il parametro seguente blocco di codice:

    <Properties>
      <Property name="connect.timeout.millis">5000</Property>
    </Properties>
    

    Poiché la proprietà connect.timeout.millis è in millisecondi, il valore di 5 secondi corrispondono a 5000.

    I seguenti esempi mostrano come configurare il timeout della connessione 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="connect.timeout.millis">5000</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="connect.timeout.millis">5000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </TargetEndpoint>
    
  4. Salva le modifiche apportate al proxy API.

Configurazione del timeout della connessione nel criterio ServiceCallout del proxy API

Questa sezione spiega come configurare il timeout della connessione nell'ServiceCallout del proxy API. Il timeout della connessione può essere configurato tramite connect.timeout.millis, che rappresenta il valore dell'ora di connessione in millisecondi.

di Gemini Advanced.

Per configurare il timeout della connessione nel criterio ServiceCallout utilizzando il Proprietà connect.timeout.millis:

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

    Ad esempio, per modificare il timeout della connessione in 5 secondi, 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 di 5 secondi corrispondono a 5000.

    I seguenti esempi mostrano come configurare il timeout della connessione in 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="connect.timeout.millis">5000</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="connect.timeout.millis">5000</Property>
        </Properties>
      <Path>/test</Path>
      </HTTPTargetConnection>
    </ServiceCallout>
    
  4. Salva le modifiche apportate al proxy API.

Configurare il timeout della connessione sui processori di messaggi

Questa sezione spiega come configurare il timeout della connessione nei processori di messaggi. Il timeout della connessione può essere configurato tramite la proprietà conf_http_HTTPClient.connect.timeout.millis, che rappresenta il timeout della connessione in millisecondi sul componente Processore di messaggi, utilizzando il token in base sintassi descritta in Come configurare Edge.

di Gemini Advanced.

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

  1. 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 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_HTTPClient.connect.timeout.millis=TIME_IN_MILLISECONDS
    

    Ad esempio, per modificare il timeout della connessione sul processore di messaggi impostandolo su 5 secondi, aggiungi la seguente riga:

    conf_http_HTTPClient.connect.timeout.millis=5000
    
  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 le Processori.

Verifica del timeout della connessione sui processori di messaggi

In questa sezione viene spiegato come verificare che il timeout della connessione sia stato modificato correttamente il giorno processori di messaggi.

Anche se utilizzi il token conf_http_HTTPClient.connect.timeout.millis per impostare il timeout della connessione sul processore di messaggi, devi verificare se la proprietà effettiva HTTPClient.connect.timeout.millis è stato impostato con il nuovo valore.

  1. Cerca la proprietà sul computer HTTPTransport.connect.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.connect.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. Se il nuovo valore di timeout della connessione viene impostato correttamente sul processore di messaggi, precedente mostra il nuovo valore nel file http.properties.

    Il risultato di esempio del comando precedente dopo aver configurato il timeout della connessione su 5 secondo è il seguente:

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

    Nell'output di esempio sopra riportato, puoi notare che la proprietà HTTPClient.connect.timeout.millis è stato impostato con il nuovo valore 5000 in http.properties. Ciò indica che il timeout della connessione è stato configurato correttamente su 5 secondi sul messaggio Processore.

  3. Se visualizzi ancora il valore precedente per la proprietà HTTPClient.connect.timeout.millis, quindi verifica di aver seguito tutti i passaggi descritti nella Configurare il timeout della connessione 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 della connessione, contatta l'assistenza Apigee Edge di Google Cloud.