
Microservices
Arquitectura de servicios, discovery, comunicación, API gateway, circuit breaker, observability, structured logging, metrics, distributed tracing
1¿Cuál es la diferencia principal entre una arquitectura monolítica y una arquitectura microservices?
¿Cuál es la diferencia principal entre una arquitectura monolítica y una arquitectura microservices?
Respuesta
En una arquitectura microservices, la aplicación se descompone en servicios independientes que pueden desarrollarse, desplegarse y escalarse por separado, a diferencia del monolito donde todo el código está en un solo proceso. Cada microservice tiene su propia base de datos y se comunica mediante APIs. Esto permite mayor escalabilidad, resiliencia y flexibilidad tecnológica, pero introduce una mayor complejidad operativa.
2¿Cuál es el rol principal del service discovery en una arquitectura microservices?
¿Cuál es el rol principal del service discovery en una arquitectura microservices?
Respuesta
El service discovery permite que los servicios se localicen dinámicamente sin configuración hardcodeada. Los servicios se registran en un registry (Consul, etcd, Eureka) con su dirección IP y puerto. Los clientes consultan el registry para obtener las instancias disponibles. Esto facilita el escalado horizontal, el despliegue continuo y la resiliencia en caso de fallo de una instancia.
3En una arquitectura microservices, ¿qué pattern permite gestionar la consistencia de los datos distribuidos sin transacción ACID?
En una arquitectura microservices, ¿qué pattern permite gestionar la consistencia de los datos distribuidos sin transacción ACID?
Respuesta
El pattern Saga permite gestionar la consistencia de los datos distribuidos mediante una secuencia de transacciones locales. Cada servicio ejecuta su transacción y publica un evento. Si un paso falla, transacciones compensatorias deshacen los cambios anteriores. Las implementaciones pueden ser orquestadas (coordinador central) o coreografiadas (eventos pub/sub). Esto garantiza la consistencia eventual sin locks distribuidos.
¿Qué biblioteca Go se usa comúnmente para implementar el service discovery con Consul?
¿Cuál es la diferencia principal entre la comunicación síncrona (REST/gRPC) y asíncrona (messaging) entre microservices?
+21 preguntas de entrevista
Otros temas de entrevista Go
Fundamentos de Go
Estructuras de datos en Go
Interfaces en Go
Manejo de errores
Goroutines básicas
Channels
Go Modules
Servidor HTTP
Cliente HTTP
Codificación JSON
Database/SQL
Paquete context
Testing
Patrones de concurrencia
Primitivas de sincronización
Frameworks web de Go
Diseño de API REST
gRPC
Reflection
Gestión de memoria
Optimización del rendimiento
Generics
Go Design Patterns
Seguridad y autenticación
Docker & Containerization
Kubernetes Basics
Go Avanzado
Desarrollo de CLI
Domina Go para tu próxima entrevista
Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.
Empieza gratis