
Architettura a Microservizi
Scomposizione dei servizi, API gateway, service discovery, transazioni distribuite, pattern di resilienza, fondamenti di Kubernetes (deployments, services, config)
1Che cos'è il pattern Bounded Context nel Domain-Driven Design applicato ai microservizi?
Che cos'è il pattern Bounded Context nel Domain-Driven Design applicato ai microservizi?
Risposta
Un Bounded Context definisce un confine esplicito attorno a un modello di dominio con il proprio ubiquitous language e il proprio database. Nell'architettura a microservizi, ogni Bounded Context diventa tipicamente un microservizio distribuito indipendente. Questo garantisce l'autonomia dei dati ed evita la condivisione di modelli tra servizi. Ad esempio, l'entità User nel contesto Profile può condividere l'ID con l'entità Buyer nel contesto Ordering, ma rimangono modelli distinti con i propri attributi e la propria logica di business.
2Qual è il ruolo principale di un API Gateway in un'architettura a microservizi?
Qual è il ruolo principale di un API Gateway in un'architettura a microservizi?
Risposta
Un API Gateway funge da punto di ingresso unico per gruppi di microservizi, agendo come un reverse proxy che instrada le richieste dei client verso i servizi appropriati. Implementa il pattern Backend for Frontend (BFF) e gestisce le preoccupazioni trasversali come autenticazione, terminazione SSL, caching e aggregazione delle risposte. Questo semplifica la comunicazione client-to-microservice evitando più chiamate dirette e centralizzando la logica di routing.
3Come funziona il service discovery in Docker Compose?
Come funziona il service discovery in Docker Compose?
Risposta
Docker Compose utilizza un DNS interno per il service discovery. Ogni servizio definito in docker-compose.yml è accessibile tramite il suo nome di servizio come hostname. Ad esempio, se un servizio Redis si chiama 'basketdata', gli altri servizi possono connettersi tramite ConnectionString=basketdata. Docker risolve automaticamente questo nome nell'indirizzo IP interno del contenitore sulla rete Docker condivisa, eliminando la necessità di hardcodare gli indirizzi IP.
Qual è il principio del pattern Circuit Breaker con Polly in .NET?
Come configurare una retry policy con Polly per HttpClient in .NET?
+22 domande da colloquio
Altri argomenti di colloquio .NET
Fondamenti di C#
LINQ & Delegates
Fondamenti del linguaggio C#
Fondamenti di ASP.NET Core
Ciclo di vita delle richieste in ASP.NET Core
Configuration & Settings
Ciclo di vita dell'applicazione
Dependency Injection
Entity Framework Core
Minimal APIs
Sviluppo di Web API
Async in ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Serializzazione JSON
Entity Framework Core avanzato
Funzionalità avanzate di C#
Clean Architecture
Logging, Monitoring & Observability
Test unitari & xUnit
Test di integrazione
Docker & Containerization
Gestione dei pacchetti NuGet
Memory Management & GC
Programmazione reattiva
Async/await & Pattern
.NET Design Patterns
Ottimizzazione delle prestazioni
Sicurezza e Best Practices
SignalR e tempo reale
Padroneggia .NET per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis