Insights4/8/2026
CQRS in produzione: come adesso.it ha abbattuto la latenza separando lettura e scrittura
Gregorio Palamà racconta l'adozione di CQRS ed ElasticSearch in un progetto di modernizzazione applicativa
Qual era il problema che vi ha portato a valutare CQRS?
Nel corso di un grosso progetto di modernizzazione applicativa, avevamo la necessità di effettuare ricerche full-text a bassa latenza. Da lì abbiamo scelto di introdurre una pre-aggregazione dei dati su ElasticSearch adottando CQRS, separando i modelli di scrittura e lettura per ottimizzare le interrogazioni più critiche.
Qual è stato il beneficio più tangibile?
CQRS ci ha permesso di abilitare funzionalità che prima sarebbero state impossibili. In termini di performance abbiamo eguagliato e in alcuni casi superato la soluzione legacy, che pure lavorava completamente in memoria, sfruttando al contempo i vantaggi di un’architettura distribuita.
In architettura però esistono anche trade-off: qual è stato il vostro?
Eravamo consapevoli di star introducendo una finestra di inconsistenza. Tramite misurazioni negli ambienti pre-produttivi e modelli statistici su dati reali, abbiamo calcolato che questa finestra sarebbe stata impercettibile per l’utente. Le misurazioni post‑rilascio hanno confermato le stime iniziali, con valori molto vicini a quanto previsto.
Qual è stata la parte più difficile? Ci sono degli aspetti da considerare prima di adottare CQRS?
CQRS è complesso perché richiede un cambio di paradigma a tutti i livelli, non solo tecnico. E’ importante dare il giusto peso alla formazione delle persone, soprattutto quando lo si adotta a progetto in corso, affinché i benefici giustifichino la complessità introdotta
