
Microservices
Architettura dei servizi, discovery, comunicazione, API gateway, circuit breaker, observability, structured logging, metrics, distributed tracing
1Qual è la differenza principale tra un'architettura monolitica e un'architettura microservices?
Qual è la differenza principale tra un'architettura monolitica e un'architettura microservices?
Risposta
In un'architettura microservices, l'applicazione è scomposta in servizi indipendenti che possono essere sviluppati, distribuiti e scalati separatamente, a differenza del monolite dove tutto il codice è in un unico processo. Ogni microservice ha il proprio database e comunica tramite API. Ciò consente migliore scalabilità, resilienza e flessibilità tecnologica, ma introduce una maggiore complessità operativa.
2Qual è il ruolo principale del service discovery in un'architettura microservices?
Qual è il ruolo principale del service discovery in un'architettura microservices?
Risposta
il service discovery consente ai servizi di localizzarsi dinamicamente senza configurazione hardcoded. I servizi si registrano presso un registry (Consul, etcd, Eureka) con il loro indirizzo IP e porta. I client interrogano il registry per ottenere le istanze disponibili. Questo facilita lo scaling orizzontale, il deployment continuo e la resilienza in caso di guasto di un'istanza.
3In un'architettura microservices, quale pattern gestisce la coerenza dei dati distribuiti senza transazione ACID?
In un'architettura microservices, quale pattern gestisce la coerenza dei dati distribuiti senza transazione ACID?
Risposta
Il pattern Saga gestisce la coerenza dei dati distribuiti tramite una sequenza di transazioni locali. Ogni servizio esegue la propria transazione e pubblica un evento. Se un passaggio fallisce, transazioni compensative annullano le modifiche precedenti. Le implementazioni possono essere orchestrate (coordinatore centrale) o coreografate (eventi pub/sub). Questo garantisce la coerenza finale senza lock distribuiti.
Quale libreria Go è comunemente usata per implementare il service discovery con Consul?
Qual è la differenza principale tra comunicazione sincrona (REST/gRPC) e asincrona (messaging) tra microservices?
+21 domande da colloquio
Altri argomenti di colloquio Go
Fondamenti di Go
Strutture dati in Go
Interfacce in Go
Gestione degli errori
Goroutine di base
Channels
Go Modules
Server HTTP
Client HTTP
Codifica JSON
Database/SQL
Pacchetto context
Testing
Pattern di concorrenza
Primitive di sincronizzazione
Framework web Go
Progettazione di API REST
gRPC
Reflection
Gestione della memoria
Ottimizzazione delle prestazioni
Generics
Go Design Patterns
Sicurezza e autenticazione
Docker & Containerization
Kubernetes Basics
Go Avanzato
Sviluppo CLI
Padroneggia Go per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis