Luca Semprini
• Jacopo Ricciputi
abstract
L’obiettivo del progetto è di mostrare le potenzialità di Redis all’interno di un’architettura distribuita a microservizi. Redis è uno store in-memory open-source di strutture dati, usato come database, cache e message broker. Supporta vari tipi di strutture dati, dalle più semplici: stringhe, hash, liste, set alle più complesse: sorted set, bitmaps, hyperloglogs, indici geospaziali e infine gli stream. Gli stream risultano la struttura dati di riferimento all’interno del progetto in quanto, oltre a gestire la propagazione di dati, sono ripercorribili in entrambe le direzioni, perciò utilizzati anche come struttura dati di salvataggio delle informazioni raccolte, prima che queste vengano elaborate e successivamente storicizzate per le analisi a lungo termine. Gli stream in Redis offrono anche la possibilità di gestire vari gruppi di consumatori, il che permette di imbastire un’architettura distribuita basata sul pattern produttore-consumatori. L’idea infatti è di utilizzare Redis come punto di raccolta e propagatore delle informazioni.
outcomes