Progetto MNG
Piattaforma enterprise a microservizi sviluppata in Pixeltek SRL: Spring Boot, REST API, Angular, MySQL.
Contesto
Progetto MNG è una piattaforma enterprise a microservizi a cui ho lavorato come Full Stack Developer in Pixeltek SRL. È un progetto enterprise riservato: posso condividere l'architettura tecnica e le decisioni progettuali, non il dominio applicativo né dettagli sul cliente.
Stack tecnico
Backend Java/Spring Boot organizzato a microservizi, build gestita con Maven. Persistenza su MySQL. Frontend in Angular, comunicazione tra frontend e backend tramite REST API.
Decisioni tecniche
Maven multi-module. Il backend è strutturato come progetto Maven multi-modulo: separa i confini di compilazione tra i servizi e permette di condividere codice comune (DTO, client HTTP, utility) senza duplicarlo in ogni microservizio.
Autenticazione JWT centralizzata. L'autenticazione emette un token JWT validato in autonomia da ciascun microservizio, invece di interrogare un servizio di autenticazione a ogni richiesta — meno accoppiamento tra servizi e meno latenza sulle chiamate interne.
Separazione per bounded context. Ogni microservizio è ritagliato attorno a un bounded context preciso, con un proprio schema dati: un cambiamento interno a un servizio non si propaga a cascata negli altri.
Sfide tecniche
Stato distribuito. Con la logica applicativa spezzata su più servizi, mantenere uno stato coerente senza un'unica fonte di verità centralizzata richiede disciplina nella progettazione delle API e dei contratti tra servizi, non solo nel codice di ogni singolo microservizio.
Sincronizzazione dati tra servizi. Quando più microservizi devono restare allineati sugli stessi dati, la sincronizzazione va gestita in modo esplicito (eventi, chiamate dirette, pattern eventualmente consistenti), senza poter contare su un'unica transazione ACID che copre l'intero sistema.
Risultato
Il progetto è tuttora in produzione e in evoluzione. Non entro nei dettagli di business per accordi di riservatezza, ma è l'esperienza da cui ho imparato di più sull'architettura a microservizi applicata a un contesto enterprise reale, non da tutorial.