Configurazione del router per riprovare le connessioni a un processore di messaggi

Edge per Private Cloud v. 4.17.09

Configurazione della risposta del router quando un processore di messaggi non è disponibile durante un controllo di integrità

Il router esegue un controllo di integrità al processore di messaggi ogni cinque secondi per determinare se è in grado di gestire le richieste. Se un processore di messaggi non funziona, il router inoltra automaticamente le richieste a un altro processore di messaggi.

Puoi configurare la reazione del router quando il processore di messaggi smette di funzionare impostando la proprietà conf_load_balancing_load.balancing.driver.nginx.server.retry sul router. Questa proprietà accetta un insieme di valori delimitati da spazi che può includere:

  • off: disabilita Riprova; il router restituisce un codice di errore su una richiesta.
  • http_599 (impostazione predefinita): se il router riceve una risposta HTTP 599 dal processore di messaggi, inoltra la richiesta al processore di messaggi successivo.

    HTTP 599 è un codice di risposta speciale che viene generato da un processore di messaggi quando viene arrestato. Il processore di messaggi tenta di completare tutte le richieste esistenti, ma per ogni nuova richiesta risponde con HTTP 599 per segnalare al router di ritentare la richiesta al successivo processore di messaggi.
  • error: se si è verificato un errore durante la connessione al processore di messaggi, il passaggio di una richiesta all'elaboratore o la lettura dell'intestazione della risposta, il router inoltra la richiesta al successivo processore di messaggi.
  • timeout: se si verifica un timeout mentre viene stabilita una connessione con il processore di messaggi, trasmette una richiesta al processore o legge l'intestazione della risposta, il router inoltra la richiesta al successivo processore di messaggi.
  • invalid_header: se il processore di messaggi ha restituito una risposta vuota o non valida, il router inoltra la richiesta al successivo processore di messaggi.
  • http_XXX: se il processore di messaggi ha restituito una risposta con il codice HTTP XXX, il router inoltra la richiesta al successivo processore di messaggi.

Per configurare il router:

  1. Modifica il file /opt/apigee/customer/application/router.properties (se il file non esiste, crealo).
  2. Aggiungi la proprietà conf_load_balancing_load.balancing.driver.nginx.server.retry come mostrato di seguito:
    errore conf_load_balancing_load.balancing.driver.nginx.server.retry=http_599
  3. Assicurati che il file delle proprietà sia di proprietà dell 'utente apigee':
    > chown apigee:apigee /opt/apigee/customer/application/router.properties
  4. Riavvia il router:
    > /opt/apigee/apigee-service/bin/apigee-service edge-router concern

Configurazione del timeout del router quando si accede ai processori di messaggi come parte di una richiesta proxy API

Il router perimetrale ha un timeout preimpostato di 57 secondi quando si tenta di accedere a un processore di messaggi come parte della gestione di una richiesta tramite un proxy API. Alla scadenza di questo timeout, il router tenterà di connettersi a un altro processore di messaggi, se disponibile. In caso contrario, verrà restituito un errore.

Per controllare questo timeout, puoi utilizzare due proprietà:

  • conf_load_balancing_load.balancing.driver.proxy.read.timeout specifica il tempo di attesa, in secondi, per un singolo processore di messaggi. Il valore predefinito è 57 secondi.
  • conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout specifica il tempo di attesa totale in secondi per tutti i processori di messaggi quando l'installazione Edge ha più processori di messaggi. Ha un valore predefinito dell'attuale valore di conf_load_balancing_load.balancing.driver.proxy.read.timeout, ovvero 57 secondi.

Per configurare il router:

  1. Modifica il file /opt/apigee/customer/application/router.properties (se il file non esiste, crealo).
  2. Imposta le proprietà come mostrato di seguito:
    conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
    conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout=240
  3. Assicurati che il file delle proprietà sia di proprietà dell 'utente apigee':
    > chown apigee:apigee /opt/apigee/customer/application/router.properties
  4. Riavvia il router:
    > /opt/apigee/apigee-service/bin/apigee-service edge-router concern