Un ambiente fornisce un contesto o una "sandbox" isolati per l'esecuzione di proxy API. In una singola organizzazione puoi creare più ambienti.
Il codice seguente mostra un esempio di configurazione di override in cui vengono definito.
namespace: my-namespace org: my-organization ... envs: - name: test serviceAccountPaths: synchronizer: "your_keypath/synchronizer-manager-service-account.json udca: "your_keypath/analytic-agent-service-account.json - name: prod serviceAccountPaths: synchronizer: "your_keypath/synchronizer-manager-service-account.json udca: "your_keypath/analytic-agent-service-account.json ...
Supponiamo che sia stato eseguito il deployment nell'ambiente di un proxy con percorso di base /foo1
test. Potresti chiamare il proxy nel seguente modo:
curl -k https://api.example.com/foo1
Quando questa chiamata raggiunge il traffico in entrata, il componente in entrata sa di inviarla al processore di messaggi
associati all'ambiente test
, che gestisce la richiesta.
Analogamente, se foo1
viene implementato anche nell'ambiente prod
,
puoi effettuare una richiesta proxy come questa all'alias host apiprod.mydomain.net
:
curl -k https://apiprod.example.com/foo1
La chiamata viene instradata dal server in entrata al MP associato a quell'host.
Antipattern: esegui il deployment di tutti i proxy in un ambiente ibrido.
Best practice: crea più ambienti ed esegui il deployment di un numero limitato di proxy a ciascuno.
Limita il numero di deployment proxy
Per l'ambiente ibrido, il fatto che molti ambienti possano condividere gli stessi host virtuali come definito nei gruppi di ambienti significa che devi riflettere attentamente su come gestire i deployment dei proxy in un determinato ambiente. In un ambiente ibrido, la best practice è creare più ambienti e implementare un numero limitato di proxy in ciascuno.
Quanti proxy dovresti eseguire per il deployment in un ambiente? Non esiste una risposta predefinita a questa domanda. Tuttavia, la tabella seguente fornisce indicazioni generali sul perché è consigliabile limitare il numero di proxy di cui è stato eseguito il deployment in ogni ambiente e su cosa occorre tenere presente quando si gestisce il deployment dei proxy:
Problema da considerare | Descrizione |
---|---|
Tempo di avvio del processore di messaggi | Esiste una correlazione diretta tra il tempo necessario per l'avvio di un elaboratore di messaggi (MP) e il numero di proxy di cui è stato eseguito il deployment nell'MP. In una scalabilità automatica Kubernetes, un aumento del tempo di avvio potrebbe rappresentare un problema. Maggiore è il numero di proxy deployment al MP, più tempo impiegherà quell'MP deve essere scalato o ricreato. |
Prestazioni di scalabilità | Se hai più proxy di cui è stato eseguito il deployment in un ambiente e uno dei proxy viene molto traffico, in modo che spesso venga scalato automaticamente, tutti i proxy dell'ambiente di rete lo scalerà di conseguenza. L'effetto sulle prestazioni della scalabilità con un singolo proxy a traffico elevato potrebbe essere un problema. |
Vicino rumoroso | Se hai eseguito il deployment di più proxy nello stesso ambiente, si arresta in modo anomalo, tutti i proxy nell'ambiente vengono rimossi mentre I MP vengono riavviati. Se limiti il numero di proxy di cui è stato eseguito il deployment in un ambiente, riduci al minimo l'impatto del crash di un singolo proxy. |
Gruppi di ambienti e virtualhost
I gruppi di ambienti ti consentono di raggruppare gli ambienti. Gli ambienti all'interno di ciascun gruppo condividono gli stessi hostname. Puoi raggruppare gli ambienti per funzione, per indirizzo del nome host e per regione, se stai implementando un'installazione ibrida multiregionale o in base a qualsiasi altra metrica scegliere.
Poiché il routing è gestito dalla combinazione di nomi host dei gruppi di ambienti, percorsi base dei proxy API e ambienti, ogni host virtuale deve elencare solo il nome del gruppo di ambienti e eventuali certificati appropriati.
Il codice seguente mostra un esempio di configurazione di override in cui sono presenti più virtualhost definito. Tieni presente che il nome degli host virtuali deve essere quello dei gruppi di ambiente.
gcp: region: us-central1 projectID: hybrid-example k8sCluster: name: apigee-hybrid region: us-central1 org: hybrid-example instanceID: "my_hybrid_example" virtualhosts: - name: group-1 # the name of an environment group sslCertPath: ./certs/keystore.pem sslKeyPath: ./certs/keystore.key virtualhosts: - name: group-2 sslCertPath: ./certs/keystore.pem sslKeyPath: ./certs/keystore.key ...
Risorse aggiuntive
- Informazioni sugli ambienti e sui gruppi di ambienti
- Gestione degli ambienti
- Gestire i gruppi di ambienti
- Riferimento per le proprietà di configurazione
- Configurare gli host virtuali