Stai visualizzando la documentazione di Apigee e Apigee hybrid.
Visualizza la documentazione di
Apigee Edge.
Apigee offre la possibilità di archiviare i dati in una cache in fase di esecuzione per la persistenza e un recupero più rapido.
- I dati vengono inizialmente archiviati nella memoria cache del processore di messaggi, chiamata cache L1.
- La cache L1 è limitata dalla quantità di memoria riservata come percentuale della memoria JVM.
- Le voci memorizzate nella cache vengono successivamente mantenute nella cache L2, accessibile a tutti gli elaboratori di messaggi. Per ulteriori dettagli, consulta la sezione di seguito.
- La cache L2 non ha un limite fisso per il numero di voci della cache, ma la dimensione massima della voce che può essere memorizzata nella cache è limitata a 256 KB. La dimensione della cache di 256 KB è la dimensione consigliata per un rendimento ottimale.
Antipattern
Questo particolare antipattern illustra le implicazioni del superamento delle attuali limitazioni di dimensione della cache in Apigee.
Quando i dati di dimensioni superiori a 256 KB vengono memorizzati nella cache, le conseguenze sono le seguenti:
- Le richieste API eseguite per la prima volta su ciascun Message Processor devono recuperare i dati indipendentemente dall'origine originale (criterio o server di destinazione), poiché le voci > 256 KB non sono disponibili nella cache L2.
- L'archiviazione di dati più grandi (> 256 KB) nella cache L1 tende a mettere a dura prova le risorse della piattaforma. Di conseguenza, la memoria della cache L1 viene riempita più velocemente e quindi lo spazio disponibile per altri dati è minore. Di conseguenza, non sarà possibile memorizzare nella cache i dati in modo così aggressivo come si vorrebbe.
- Le voci memorizzate nella cache dei processori dei messaggi verranno rimosse quando viene raggiunto il limite per il numero di voci. In questo modo, i dati vengono recuperati di nuovo dall'origine originale sui rispettivi elaboratori di messaggi.
Impatto
- I dati di dimensioni superiori a 256 KB non verranno archiviati nella cache L2/persistente.
- Chiamate più frequenti all'origine originale (un criterio o un server target) comportano un aumento delle latenze per le richieste API.
Best practice
- Per ottenere prestazioni ottimali, è preferibile memorizzare in cache i dati di dimensioni inferiori a 256 KB.
- Se è necessario archiviare dati di dimensioni superiori a 256 KB, valuta la possibilità di:
- Utilizzo di qualsiasi database appropriato per l'archiviazione di dati di grandi dimensioni
OR
- Compressione dei dati
- Utilizzo di qualsiasi database appropriato per l'archiviazione di dati di grandi dimensioni