Data caching e microservizi: le strategie di memorizzazione | ZeroUno

Data caching e microservizi: le strategie di memorizzazione

pittogramma Zerouno

TechTarget Technology HowTo

Data caching e microservizi: le strategie di memorizzazione

A seconda della tipologia di applicazione sviluppata, esistono diverse strategie di memorizzazione dei dati nella cache. La condivisione e i tempi di archiviazione sono due chiavi fondamentali nell’ambito dei microservices

28 Ago 2020

di Laura Zanotti - Fonte TechTarget

Data caching significa saper gestire i criteri di memorizzazione dei dati nella cache. L’attività è fondamentale quando si tratta di garantire ai microservizi un facile accesso ai dati di cui hanno bisogno.

Data caching: a cosa serve e come funziona

Il data caching riduce il numero di viaggi che deve compiere un microservizio verso un server che ospita un database, evitando chiamate ridondanti ad altri microservizi. La memorizzazione nella cache può anche migliorare i livelli di disponibilità, dal momento che è ancora possibile ottenere dati dalla cache se un servizio non è attivo.

Partecipa al Time for Cloud

Memorizzazione nella cache: i punti di attenzione

Gli esperti suggeriscono alcune linee guida da seguire per una corretta gestione della cache: in particolare quando si tratta di quali e quanti dati vengono memorizzati. Per mantenere elevate le prestazioni dei microservizi, infatti, è molto importante evitare di sovraccaricare una cache con dati obsoleti o ridondati.

Determinare cosa tenere in memoria

Esistono due tipi di cache: preloaded e lazy loaded.

  • Preloaded: nelle cache precaricate, i dati vengono popolati prima dell’inizio di un servizio (il che significa che sono pronti prima che un servizio lo richieda).
  • Lazy loaded: nelle cache caricate più lentamente, i dati restano in attesa fino a che un servizio non ne faccia richiesta. I dati nella cache si attivano la prima volta che un servizio ne ha bisogno e tutte le richieste successive per lo stesso blocco di dati vengono gestite dalla cache.

A seconda della tipologia di applicazione che si sta programmando, lo sviluppatore deve scegliere quale di queste due strategie di data caching dei microservizi sia la più opportuna.

Ad esempio, un’applicazione di e-commerce potrebbe dover precaricare gli articoli utilizzati di frequente nella cache in modo che un nuovo ordine venga elaborato utilizzando un articolo già memorizzato. Tuttavia, è possibile che le applicazioni che non necessitano di accedere ai dati in questo modo possano essere lasciate nella cache a caricamento lento per evitare sovraccarichi di dati.

Impostare la condivisione della memoria

Quando i team memorizzano nella cache i dati di un’istanza del servizio, ogni istanza conserva la propria copia da utilizzare al bisogno. Questo tipo di memorizzazione è veloce, ma pone dei vincoli: in termini di archiviazione, infatti, è limitata alla memoria direttamente disponibile per il servizio. Nel momento in cui l’archiviazione è limitata, i team possono utilizzare la memorizzazione nella cache condivisa. Nella cache condivisa i dati sono condivisi tra le istanze dell’applicazione e tutti i servizi accedono alla stessa cache. Questo approccio è facilmente scalabile, dal momento che è possibile scalare i server in base alle effettive esigenze. In genere, questa cache è ospitata come un servizio separato, come mostrato nella Figura 1.

data caching 1
Figura 1 – Didascalia: cache ospitata come servizio separato

Decidere per quanto tempo conservare i dati

Se i dati cambiano, è necessario assicurarsi che i dati presenti nella cache siano sincronizzati con gli archivi dati correnti. I dati della cache possono diventare obsoleti dopo un certo periodo di tempo: questo impone di mantenere un controllo anche su questo aspetto, calcolando per quanto tempo si desidera che i dati restino nella cache.

Quando si parla di data caching è importante valutare l’opportunità di impostare una durata a tempo che, automaticamente, invalidi i dati e li rimuova dalla cache superato un determinato limite temporale. Una richiesta di dati scaduti comporterà una richiesta cache non riuscita, il che è accettabile purché le richieste non riuscite superino le richieste riuscite.

Z

Laura Zanotti - Fonte TechTarget

Giornalista

Ha iniziato a lavorare come technical writer e giornalista negli anni '80, collaborando con tutte le nascenti riviste di informatica e Telco. In oltre 30 anni di attività ha intervistato centinaia di Cio, Ceo e manager, raccontando le innovazioni, i problemi e le strategie vincenti delle imprese nazionali e multinazionali alle prese con la progressiva convergenza tra mondo analogico e digitale. E ancora oggi continua a farlo...

Argomenti trattati

Approfondimenti

M
Microservizi
Technology HowTo

Articolo 1 di 4