Stai visualizzando la documentazione di Apigee Edge.
  Vai alla sezione
     Documentazione di Apigee X. Informazioni
Questo documento spiega come configurare il timeout di I/O per i processori di messaggi Apigee Edge.
Il timeout I/O sul processore di messaggi rappresenta il tempo per cui il processore di messaggi attende di ricevere una risposta dal server di backend o che il socket sia pronto per scrivere una richiesta al server di backend prima che scada.
  Il valore predefinito del timeout del processore di messaggi I/O è 55 seconds. Questo timeout
  periodo applicabile
  ai server di backend configurati nella configurazione dell'endpoint di destinazione e nel ServiceCallout
  del proxy API.
  Il timeout I/O per i processori di messaggi può essere aumentato o diminuito rispetto al valore predefinito
  55 seconds in base alle tue esigenze. Può essere configurato nelle seguenti posizioni:
- Nel proxy API
      - Endpoint di destinazione
- Norme ServiceCallout
 
- Sul processore di messaggi
Le seguenti proprietà controllano il timeout di I/O sui processori di messaggi:
| Nome proprietà | Località | Descrizione | 
|---|---|---|
| io.timeout.millis | Proxy API: 
 | Questo è il periodo di tempo massimo durante il quale il processore di messaggi esegue le seguenti operazioni: 
 Se il server di backend non risponde entro questo periodo di timeout, il parametro Timeout del processore di messaggi. 
          Per impostazione predefinita, questa proprietà utilizza il valore impostato per
          Proprietà  Se questa proprietà viene modificata con un nuovo valore di timeout per un proxy API specifico, solo questo proxy API è interessato. | 
| HTTPTransport.io.timeout.millis | processore di messaggi | Questo è il periodo di tempo massimo durante il quale il processore di messaggi esegue le seguenti operazioni: 
 Se il server di backend non risponde entro questo periodo di timeout, il parametro Timeout del processore di messaggi. 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
          Configura il timeout I/O sui processori di messaggi oppure
          sovrascrivere questo valore impostando la proprietà  | 
Prima di iniziare
Prima di seguire la procedura descritta in questo documento, assicurati di aver compreso i seguenti argomenti:
- Se non hai familiarità con il timeout di I/O, consulta la proprietà io.timeout.millisdescrizione in Specifica della proprietà di trasporto di TargetEndpoint.
- Se non hai familiarità con la configurazione delle proprietà per Edge per Private Cloud, leggi Come configurare Edge.
- Assicurati di seguire i consigli in Best practice per la configurazione del timeout di I/O.
Configurazione del timeout di I/O nel proxy API
Il timeout di I/O può essere configurato nelle seguenti posizioni del proxy API:
- Endpoint di destinazione
- Norme ServiceCallout
Configurazione del timeout I/O nell'endpoint di destinazione del proxy API
    Questa sezione spiega come configurare il timeout I/O nell'endpoint di destinazione del proxy API.
    Il timeout di I/O può essere configurato tramite la proprietà io.timeout.millis, che
    rappresenta il valore di timeout I/O in millisecondi.
  
- Nella UI Edge, seleziona il proxy API specifico in cui desideri configurare il nuovo Valore di timeout I/O.
- Seleziona l'endpoint di destinazione specifico che vuoi modificare.
- Aggiungi la proprietà io.timeout.milliscon un valore appropriato sotto il campo Elemento<HTTPTargetConnection>nella configurazioneTargetEndpoint.
- Salva le modifiche apportate al proxy API.
Ad esempio, per impostare il timeout I/O su 120 secondi, aggiungi il seguente blocco di codice:
    <Properties>
      <Property name="io.timeout.millis">120000</Property>
    </Properties>Poiché la proprietà io.timeout.millis è in millisecondi, il valore di
        120 secondi corrispondono a 120000.
    
Gli esempi seguenti mostrano come configurare il timeout di I/O 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="io.timeout.millis">120000</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="io.timeout.millis">120000</Property>
    </Properties>
    <Path>/test</Path>
  </HTTPTargetConnection>
</TargetEndpoint>Configurazione del timeout I/O nel criterio ServiceCallout del proxy API
Questa sezione spiega come configurare il timeout I/O nel criterio ServiceCallout del tuo
    proxy API. Il timeout di I/O può essere configurato tramite l'elemento <Timeout>
    o la proprietà io.timeout.millis. Sia l'elemento <Timeout> che
    io.timeout.millis rappresenta i valori di timeout di I/O in millisecondi.
  
Puoi configurare il timeout di I/O nel criterio ServiceCallout utilizzando uno dei seguenti metodi:
- Elemento <Timeout>.
- io.timeout.millisproprietà.
Timeout elemento
        Per configurare il timeout di I/O nel criterio ServiceCallout utilizzando il <Timeout>
        procedi nel seguente modo:
      
- Nella UI Edge, seleziona il proxy API specifico in cui desideri configurare nuovo valore di timeout I/O per il criterio ServiceCallout.
- Seleziona lo specifico criterio ServiceCallout che vuoi modificare.
- Aggiungi l'elemento <Timeout>con un valore appropriato sotto i Configurazione di<ServiceCallout>.Ad esempio, per impostare il timeout I/O su 120 secondi, aggiungi la seguente riga di codice: <Timeout>120000</Timeout> Poiché l'elemento <Timeout>è in millisecondi, il valore di 120 secondi corrispondono a120000.L'esempio seguente mostra come configurare il timeout I/O in ServiceCallout criterio utilizzando l'elemento <Timeout>:Esempio di configurazione di criteri ServiceCallout con l'URL del server di backend <ServiceCallout name="Service-Callout-1"> <DisplayName>ServiceCallout-1</DisplayName> <Timeout>120000</Timeout> <HTTPTargetConnection> <Properties/> <URL>https://mocktarget.apigee.net/json</URL> </HTTPTargetConnection> </ServiceCallout>
- Salva le modifiche apportate al proxy API.
proprietà io.timeout.millis
Per configurare il timeout di I/O nel criterio ServiceCallout utilizzando il metodo
        io.timeout.millis, segui questi passaggi:
      
- Nella UI Edge, seleziona il proxy API specifico in cui desideri configurare il nuovo valore di timeout I/O per il criterio ServiceCallout.
- Seleziona lo specifico criterio ServiceCallout che vuoi modificare.
- Aggiungi la proprietà io.timeout.milliscon un valore appropriato sotto il campo Elemento<HTTPTargetConnection>nella configurazione TargetEndpoint.Ad esempio, per impostare il timeout I/O su 120 secondi, aggiungi il seguente blocco del codice: <Properties> <Property name="io.timeout.millis">120000</Property> </Properties>Poiché la proprietà io.timeout.millisè in millisecondi, il valore di 120 secondi corrispondono a120000.Gli esempi seguenti mostrano come configurare il timeout di I/O nell'endpoint di destinazione configurazione del proxy API: Esempio di configurazione di criteri ServiceCallout con l'URL del server di backend <ServiceCallout name="Service-Callout-1"> <DisplayName>ServiceCallout-1</DisplayName> <HTTPTargetConnection> <Properties> <Property name="io.timeout.millis">120000</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>ServiceCallout-1</DisplayName> <Response>calloutResponse</Response> <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Properties> <Property name="io.timeout.millis">120000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </ServiceCallout>
- Salva le modifiche apportate al proxy API.
Configurazione del timeout di I/O sui processori di messaggi
Questa sezione spiega come configurare il timeout I/O sui processori di messaggi.
      Il timeout di I/O può essere configurato tramite la proprietà HTTPTransport.io.timeout.millis,
      che rappresenta il valore di timeout di I/O in millisecondi sul componente Processore di messaggi,
      utilizzando il token in base alla sintassi descritta
      Come configurare
        Edge.
Per configurare il timeout di I/O sui processori di messaggi:
- 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 questo comando:vi /opt/apigee/customer/application/message-processor.properties 
- Aggiungi al file delle proprietà una riga nel formato seguente, sostituendo il valore per
      TIME_IN_MILLISECONDS:
conf_http_HTTPTransport.io.timeout.millis=TIME_IN_MILLISECONDS Ad esempio, per impostare su 120 secondi il timeout I/O sul processore di messaggi: aggiungi la seguente riga: conf_http_HTTPTransport.io.timeout.millis=120000 
- Salva le modifiche.
- Verifica che il file delle proprietà appartenga all'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 utilizzi più di un processore di messaggi, ripeti i passaggi precedenti su tutte le Processori.
Verifica del timeout di I/O sui processori di messaggi
Questa sezione spiega come verificare che il timeout di I/O sia stato modificato correttamente Processori di messaggi.
    Anche se utilizzi il token conf_http_HTTPTransport.io.timeout.millis per impostare
    Timeout I/O sul processore di messaggi, devi verificare se la proprietà effettiva
    HTTPTransport.io.timeout.millis è stato impostato con il nuovo valore.
  
- Sul computer dell'elaboratore di messaggi, cerca la proprietà HTTPTransport.io.timeout.millisnella directory/opt/apigee/edge-message-processor/confe controlla se sia stato impostato con il nuovo valore come mostrato di seguito:grep -ri "HTTPTransport.io.timeout.millis" /opt/apigee/edge-message-processor/conf 
- Se il nuovo valore di timeout I/O viene impostato correttamente sul processore di messaggi, quanto riportato sopra
      mostra il nuovo valore nel file http.properties.
- Se visualizzi ancora il valore precedente per la proprietà HTTPTransport.io.timeout.millis, quindi verifica di aver seguito tutti i passaggi descritti nella Configurare correttamente il timeout di I/O sui processori di messaggi. Se disponi hai saltato un passaggio, ripeti tutti i passaggi correttamente.
- Se ancora non riesci a modificare il timeout di I/O, contatta Assistenza Apigee Edge.
Il risultato di esempio del comando precedente dopo aver configurato il timeout I/O su 120 secondi è il seguente:
/opt/apigee/edge-message-processor/conf/http.properties:HTTPTransport.io.timeout.millis=120000
Nell'output di esempio precedente, nota che la proprietà
        HTTPTransport.io.timeout.millis è stato impostato con il nuovo valore 120000 in
        http.properties. Questo indica che il timeout di I/O è stato configurato correttamente
        fino a 120 secondi sul processore di messaggi.
    
Passaggi successivi
Informazioni su Configurare il timeout di I/O sui router