
Microservices
Monolith vs modular monolith vs microservices, message patterns, transporters (TCP, Redis, NATS, RabbitMQ, Kafka), comunicazione (sync/async, event-driven), CQRS, event sourcing, client/server
1Cos'è un modular monolith?
Cos'è un modular monolith?
Risposta
Un modular monolith è un'applicazione distribuita come singola unità ma strutturata in moduli fortemente disaccoppiati con boundaries chiare. A differenza del monolith classico dove tutto è mescolato, il modular monolith organizza il codice in moduli indipendenti che comunicano tramite interfacce ben definite. Questo approccio combina la semplicità del monolith (deployment singolo, transazioni ACID semplici) con la manutenibilità dei microservices (separazione delle responsabilità, boundaries chiare).
2Qual è la differenza principale tra un monolith e i microservices?
Qual è la differenza principale tra un monolith e i microservices?
Risposta
La differenza principale risiede nel deployment e nell'indipendenza: un monolith viene distribuito come singola unità dove tutti i componenti condividono lo stesso processo e database, mentre i microservices sono servizi indipendenti distribuiti separatamente con i propri database. Il monolith offre semplicità e transazioni ACID facili ma presenta problemi di scalabilità e manutenzione su larga scala. I microservices consentono scalabilità indipendente e deployment autonomi ma introducono complessità distribuita.
3Cos'è un message pattern in NestJS Microservices?
Cos'è un message pattern in NestJS Microservices?
Risposta
Un message pattern in NestJS definisce la modalità di comunicazione tra microservices. Esistono due tipi principali: request-response (sincrono con risposta attesa) ed event-based (asincrono senza attesa di risposta). Il decorator @MessagePattern() definisce un handler per request-response, mentre @EventPattern() gestisce gli eventi asincroni. La scelta del pattern dipende dal caso d'uso: request-response per operazioni che richiedono risposta immediata, event-based per notifiche ed eventual consistency.
Qual è il ruolo di un transporter in NestJS Microservices?
Qual è la differenza tra @MessagePattern() e @EventPattern()?
+27 domande da colloquio
Altri argomenti di colloquio Node.js / NestJS
Fondamenti di Node.js
API Core di Node.js
Programmazione asincrona
Fondamenti di Express.js
Fondamenti di NestJS
Progettazione di API REST
Validazione e DTO
Documentazione API e contratti
Gestione degli errori
Test unitari
Pianificazione delle attività
Moduli e DI di NestJS
Configurazione e gestione degli ambienti
Autenticazione JWT
Autorizzazione e RBAC
Database con TypeORM
Prisma ORM
Middleware e Interceptor
Caricamento file
WebSockets
GraphQL con NestJS
Test end-to-end
Caching con Redis
Code con Bull
DevOps, Logging e CI/CD
Docker e containerizzazione
Migliori pratiche di sicurezza
Performance e deployment cloud
Padroneggia Node.js / NestJS per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis