Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza la documentazione di Apigee Edge.
Le funzionalità di persistenza di Apigee includono cache, mappe chiave-valore e set di proprietà. Se utilizzi Apigee hybrid, puoi utilizzare i secret di Kubernetes per mantenere permanenti i dati sensibili.
Funzionalità | Utilizza |
---|---|
Cache | Utilizzando i criteri per la memorizzazione nella cache per uso generale, puoi mantenere invariati tutti gli oggetti richiesti dal proxy
in più sessioni di richiesta/risposta. Puoi anche memorizzare nella cache la risposta di una
risorsa di backend con il
criterio ResponseCache . La memorizzazione nella cache della risposta è particolarmente utile quando i dati di backend vengono aggiornati solo periodicamente. Il criterio ResponseCache può ridurre le chiamate alle origini dati
di backend. |
Mappe chiave-valore | Le mappe di valori chiave (KVM) forniscono un archivio di runtime generale per i dati che possono cambiare periodicamente. Ad esempio: dati della sessione utente, carrello degli acquisti e così via. Le voci KVM possono essere criptate. |
Set di proprietà | I set di proprietà sono utili per archiviare i dati di configurazione che non cambiano spesso. |
Secret Kubernetes | (Solo Apigee Hybrid) Utilizza i secret per archiviare dati sensibili come le credenziali utente. |
Memorizzazione nella cache
Le risorse della cache basate sull'ambiente vengono create dinamicamente quando un criterio della cache viene eseguito all'interno di un flusso del proxy API. I criteri di memorizzazione nella cache includono il criterio PopulateCache, il criterio LookupCache, il criterio InvalidateCache e il criterio ResponseCache.
Un elemento memorizzato nella cache rimane in memoria (L1) per un secondo. Non puoi modificare questa configurazione. Dopo un secondo, l'oggetto memorizzato nella cache viene inserito in un database (L2) dove è disponibile fino alla scadenza della cache. Per maggiori dettagli, vedi Livelli della cache in memoria permanente. Puoi gestire i dettagli della cache, ad esempio la data e l'ora di scadenza, tramite la configurazione di un criterio di cache. Viene fornita un'API Apigee che consente di elencare ed eliminare le risorse della cache.
Quando utilizzi i criteri di cache, garantisci l'unicità delle chiavi dei valori memorizzati nella cache configurando le chiavi di cache. Una chiave della cache, insieme ad altri valori che puoi configurare, ti offre un modo affidabile per recuperare gli stessi dati inseriti. Le dimensioni e la disponibilità della cache sono soggette a determinati limiti.
Ti consigliamo di utilizzare una cache per:
- Riduci la latenza e il traffico. Le richieste vengono soddisfatte in un tempo più breve e con rappresentazioni riutilizzate.
- Mantieni i dati invariati nelle transazioni. Puoi archiviare i dati della sessione per riutilizzarli nelle transazioni HTTP.
- Supporta la sicurezza. Limita l'accesso alle voci della cache in modo che sia possibile accedervi solo in un determinato ambiente o da un proxy API specifico.
Memorizzazione nella cache delle risposte del backend
Puoi memorizzare nella cache la risposta di una risorsa di backend con il criterio ResponseCache
.
Questo è particolarmente utile quando i dati di backend vengono aggiornati solo periodicamente. Il criterio ResponseCache
può ridurre le chiamate alle origini dati di backend.
Tramite il criterio ResponseCache
, puoi anche chiedere ad Apigee di esaminare determinate intestazioni di memorizzazione nella cache della risposta HTTP e di intraprendere azioni in base alle direttive delle intestazioni. Ad esempio, nelle risposte dei target di backend, Apigee supporta l'intestazione Cache-Control
. Questa intestazione può essere utilizzata per controllare, tra le altre cose, la data di scadenza massima di una risposta memorizzata nella cache. Per ulteriori informazioni, consulta
Supporto per le intestazioni della risposta HTTP.
Memorizzazione nella cache generica a breve termine
Utilizzando i criteri per la memorizzazione nella cache per uso generale, puoi mantenere invariati tutti gli oggetti richiesti dal proxy in più sessioni di richiesta/risposta.
Con il PopulateCache
criterio, il LookupCache
criterio e il InvalidateCache
criterio,
puoi compilare, recuperare ed eliminare i dati memorizzati nella cache in fase di runtime.
Ad esempio, potresti archiviare temporaneamente:
- ID sessione per la gestione delle sessioni.
- Credenziali per le chiamate in uscita (ad esempio chiavi API o token di accesso OAuth).
- Contenuti della risposta che devono essere suddivisi in pagine per le app.
In fase di esecuzione, i criteri della cache copiano i valori tra le variabili proxy e la cache configurata specificata. Quando un valore viene inserito nella cache, viene copiato dalla variabile specificata alla cache. Quando viene recuperato dalla cache, viene copiato nella variabile per essere utilizzato dal proxy.
Per un esempio con codice, consulta Esempio: memorizzazione nella cache per uso generale.
Gestione della cache con l'API Apigee
Puoi elencare ed eliminare le cache utilizzando l'API caches.
Persistenza a lungo termine con le mappe chiave/valore
Per archiviare indefinitamente dati strutturati criptati o non criptati, puoi creare e compilare mappe chiave/valore (KVM) contenenti coppie chiave/valore arbitrarie. Ad esempio, potresti archiviare:
- Una mappa che correla gli indirizzi IP ai codici paese.
- Un elenco di indirizzi IP a cui è consentito/negato l'accesso.
- Una mappa che correla gli URL lunghi agli URL abbreviati.
- Dati specifici dell'ambiente, come conteggi delle quote e date di scadenza dei token OAuth.
Le KVM possono avere uno dei tre ambiti seguenti: organization, environment, apiproxy. Ad esempio, se le coppie chiave/valore devono essere utilizzate per tutte le API di un'organizzazione, crea un KVM nell'ambito dell'organizzazione; oppure, se solo un proxy API specifico deve avere accesso a chiavi/valori, crea il KVM nell'ambito di apiproxy. Per ulteriori informazioni, consulta Utilizzare le mappe di valori chiave.
Set di proprietà
Un set di proprietà è una raccolta personalizzata di coppie chiave/valore che memorizza i dati. I proxy API possono recuperare questi dati durante l'esecuzione.
In genere, utilizzi i set di proprietà per archiviare dati non scaduti che non devono essere codificati nella logica del proxy API, ad esempio i dati di configurazione. Puoi accedere ai dati degli insiemi di proprietà in qualsiasi punto di un proxy in cui puoi accedere alle variabili di flusso.
Un caso d'uso comune per i set di proprietà è fornire valori associati a un ambiente o a un altro. Ad esempio, puoi creare un insieme di proprietà basato sull'ambiente con valori di configurazione specifici per i proxy in esecuzione nell'ambiente di test e un altro per l'ambiente di produzione.
Per ulteriori informazioni, consulta la sezione Utilizzare i set di proprietà.
Secret Kubernetes
(Solo Apigee hybrid) Se utilizzi già Kubernetes per la gestione dei secret in una vault personalizzata per i dati sensibili, ti consigliamo di utilizzare Kubernetes Secrets. Come per i dati KVM, puoi accedere ai dati dei secret Kubernetes nelle variabili di flusso del proxy API. Per ulteriori informazioni, consulta la sezione Archiviazione dei dati in un secret Kubernetes.