TECHTARGET

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

Pubblicato il 28 Ago 2020

Data caching e microservizi 1

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.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Speciale Digital360Awards e CIOsumm.it

Tutti
Update
Round table
Keynote
Video
Digital360Awards e CIOsumm.it, i momenti salienti
Eventi
Digital360 Awards e CIOsumm.IT, ecco i progetti vincitori
Tavola rotonda
Evoluzione del CIO: da centro di costo a motore strategico del business
Tavola rotonda
Business Process Augmentation: dall’RPA alla GenAI… il dato e tratto
Approfondimenti
Sistemi digitali potenziati: l’intelligenza dei chatbot è nelle mani dei CIO
Tavola rotonda
Intelligenza collaborativa e AI: sfide e opportunità per i CIO nell’era dello Human to Machine (H2M) 
Approfondimenti
Open Source: collaborazione e innovazione nel caos apparente del software libero 
Metodologie
BANI: che cos’è e come l’AI può aiutare i CIO a gestire la felicità (e l’infelicità) dei talenti
Prospettive
AI in un mondo complesso. Tra ordine e disordine, le aziende iniziano a capire la giusta via
Approfondimenti
Intelligenza Umana vs Intelligenza Artificiale insieme. Non invece
Eventi
Digital360 Awards e CIOsumm.IT, al via l’evento conclusivo
Video
Digital360Awards e CIOsumm.it, i momenti salienti
Eventi
Digital360 Awards e CIOsumm.IT, ecco i progetti vincitori
Tavola rotonda
Evoluzione del CIO: da centro di costo a motore strategico del business
Tavola rotonda
Business Process Augmentation: dall’RPA alla GenAI… il dato e tratto
Approfondimenti
Sistemi digitali potenziati: l’intelligenza dei chatbot è nelle mani dei CIO
Tavola rotonda
Intelligenza collaborativa e AI: sfide e opportunità per i CIO nell’era dello Human to Machine (H2M) 
Approfondimenti
Open Source: collaborazione e innovazione nel caos apparente del software libero 
Metodologie
BANI: che cos’è e come l’AI può aiutare i CIO a gestire la felicità (e l’infelicità) dei talenti
Prospettive
AI in un mondo complesso. Tra ordine e disordine, le aziende iniziano a capire la giusta via
Approfondimenti
Intelligenza Umana vs Intelligenza Artificiale insieme. Non invece
Eventi
Digital360 Awards e CIOsumm.IT, al via l’evento conclusivo

Articoli correlati

Articolo 1 di 4