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 rendere persistenti i dati sensibili.
Funzionalità | Utilizza |
---|---|
Cache | Utilizzando le norme per la memorizzazione nella cache generica, puoi rendere persistenti 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 la policy
ResponseCache . La memorizzazione nella cache delle risposte è particolarmente utile quando i dati di backend
vengono aggiornati solo periodicamente. I criteri ResponseCache possono ridurre le chiamate alle origini dati
di backend. |
Mappe chiave-valore | Le mappe chiave-valore (KVM) forniscono un archivio di runtime generale per i dati che potrebbero 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 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 con ambito ambiente vengono create dinamicamente quando un criterio di cache viene eseguito all'interno di un flusso proxy API. I criteri di memorizzazione nella cache includono i criteri PopulateCache, LookupCache, InvalidateCache e 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) in cui è disponibile fino alla scadenza della cache. Per maggiori dettagli, vedi Livelli di cache persistente in memoria. Gestisci i dettagli della cache, ad esempio il tempo di scadenza, tramite la configurazione di una norma della cache. Viene fornita un'API Apigee che consente di elencare ed eliminare le risorse della cache.
Quando utilizzi le norme di memorizzazione nella 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 ottenere gli stessi dati che hai inserito. Le dimensioni e la disponibilità della cache sono soggette a determinati limiti.
Potresti voler utilizzare una cache per:
- Riduci la latenza e il traffico. Le richieste vengono soddisfatte in un tempo più breve e con rappresentazioni riutilizzate.
- Conserva i dati tra le transazioni. Puoi archiviare i dati di sessione per riutilizzarli in tutte le transazioni HTTP.
- Supporta la sicurezza. Limita l'accesso alle voci della cache in modo che possano essere accessibili solo in un ambiente specifico o da un proxy API specifico.
Memorizzazione nella cache delle risposte di backend
Puoi memorizzare nella cache la risposta di una risorsa di backend con il criterio
ResponseCache
.
Ciò è particolarmente utile quando i dati di backend vengono aggiornati solo periodicamente. I criteri ResponseCache
possono ridurre le chiamate alle origini dati di backend.
Tramite le norme ResponseCache
, puoi anche chiedere ad Apigee di esaminare determinate intestazioni di memorizzazione nella cache delle risposte HTTP e intraprendere azioni in base alle direttive delle intestazioni. Ad esempio, nelle risposte delle destinazioni di backend, Apigee supporta l'intestazione Cache-Control
. Questa intestazione può essere utilizzata per controllare
l'età massima di una risposta memorizzata nella cache, tra le altre cose. Per ulteriori informazioni, vedi
Supporto per le intestazioni della risposta HTTP.
Memorizzazione nella cache per uso generico a breve termine
Utilizzando le norme per la memorizzazione nella cache generica, puoi rendere persistenti tutti gli oggetti richiesti dal proxy in più sessioni di richiesta/risposta.
Con le norme PopulateCache
, LookupCache
e InvalidateCache
,
puoi popolare, recuperare e svuotare i dati memorizzati nella cache in fase di runtime.
Ad esempio, potresti memorizzare temporaneamente:
- ID sessione per la gestione delle sessioni.
- Credenziali per le chiamate in uscita (ad esempio chiavi API o token di accesso OAuth).
- Contenuto della risposta che deve essere paginato per le app.
In fase di runtime, le tue norme di memorizzazione nella cache copiano i valori tra le variabili proxy e la cache configurata che specifichi. Quando un valore viene inserito nella cache, viene copiato dalla variabile specificata nella cache. Quando viene recuperato dalla cache, viene copiato nella variabile per essere utilizzato dal proxy.
Per un esempio con codice, consulta la sezione Esempio: memorizzazione nella cache generica.
Gestione della cache con l'API Apigee
Puoi elencare ed eliminare le cache utilizzando l'API cache.
Persistenza a lungo termine con le mappe chiave-valore (KVM)
Per archiviare indefinitamente dati strutturati criptati o non criptati, puoi creare e compilare mappe chiave/valore (KVM) che contengono coppie chiave/valore arbitrarie. Ad esempio, potresti memorizzare:
- Una mappa che mette in correlazione gli indirizzi IP con i codici paese.
- Un elenco di indirizzi IP a cui è consentito/negato l'accesso.
- Una mappa che mette in correlazione gli URL lunghi con quelli abbreviati.
- Dati specifici dell'ambiente, come i conteggi delle quote e i tempi di scadenza dei token OAuth.
I KVM possono avere uno dei tre seguenti ambiti: organizzazione, ambiente, 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 maggiori informazioni, consulta Utilizzo delle mappe delle coppie chiave-valore.
Set di proprietà
Un insieme di proprietà è una raccolta personalizzata di coppie chiave/valore che memorizzano i dati. I proxy API possono recuperare questi dati durante l'esecuzione.
In genere, i set di proprietà vengono utilizzati per archiviare dati non scaduti che non devono essere codificati nell'hardcode nella logica del proxy API, ad esempio i dati di configurazione. Puoi accedere ai dati del set 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à con ambito di ambiente con valori di configurazione specifici per i proxy in esecuzione nell'ambiente di test e un altro insieme 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 un vault personalizzato per i dati sensibili, potresti prendere in considerazione l'utilizzo di Kubernetes Secrets. Come per i dati KVM, puoi accedere ai dati dei secret Kubernetes nelle variabili di flusso del proxy API. Per maggiori informazioni, consulta la pagina Archiviazione dei dati in un secret Kubernetes.