
Arquitectura de Microservicios
Descomposición de servicios, API gateway, service discovery, transacciones distribuidas, patrones de resiliencia, fundamentos de Kubernetes (deployments, services, config)
1¿Qué es el patrón Bounded Context en Domain-Driven Design aplicado a los microservicios?
¿Qué es el patrón Bounded Context en Domain-Driven Design aplicado a los microservicios?
Respuesta
Un Bounded Context define un límite explícito alrededor de un modelo de dominio con su propio lenguaje ubicuo y su propia base de datos. En la arquitectura de microservicios, cada Bounded Context normalmente se convierte en un microservicio distribuido independiente. Esto garantiza la autonomía de los datos y evita compartir modelos entre servicios. Por ejemplo, la entidad User en el contexto Profile puede compartir el ID con la entidad Buyer en el contexto Ordering, pero siguen siendo modelos distintos con sus propios atributos y lógica de negocio.
2¿Cuál es el rol principal de un API Gateway en una arquitectura de microservicios?
¿Cuál es el rol principal de un API Gateway en una arquitectura de microservicios?
Respuesta
Un API Gateway sirve como punto de entrada único para grupos de microservicios, funcionando como un reverse proxy que enruta las solicitudes de los clientes hacia los servicios apropiados. Implementa el patrón Backend for Frontend (BFF) y gestiona las preocupaciones transversales como la autenticación, la terminación SSL, el caching y la agregación de respuestas. Esto simplifica la comunicación client-to-microservice al evitar múltiples llamadas directas y centralizar la lógica de enrutamiento.
3¿Cómo funciona el service discovery en Docker Compose?
¿Cómo funciona el service discovery en Docker Compose?
Respuesta
Docker Compose utiliza un DNS interno para el service discovery. Cada servicio definido en docker-compose.yml es accesible por su nombre de servicio como hostname. Por ejemplo, si un servicio Redis se llama 'basketdata', los demás servicios pueden conectarse a él mediante ConnectionString=basketdata. Docker resuelve automáticamente este nombre a la dirección IP interna del contenedor en la red Docker compartida, eliminando la necesidad de hardcodear las direcciones IP.
¿Cuál es el principio del patrón Circuit Breaker con Polly en .NET?
¿Cómo configurar una política de retry con Polly para HttpClient en .NET?
+22 preguntas de entrevista
Otros temas de entrevista .NET
Fundamentos de C#
LINQ & Delegates
Fundamentos del lenguaje C#
Fundamentos de ASP.NET Core
Ciclo de vida de las solicitudes en ASP.NET Core
Configuration & Settings
Ciclo de vida de la aplicación
Dependency Injection
Entity Framework Core
Minimal APIs
Desarrollo de Web API
Async en ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Serialización JSON
Entity Framework Core avanzado
Características avanzadas de C#
Clean Architecture
Logging, Monitoring & Observability
Pruebas unitarias y xUnit
Pruebas de integración
Docker & Containerization
NuGet Package Management
Memory Management & GC
Programación reactiva
Async/await & Patterns
.NET Design Patterns
Optimización del rendimiento
Seguridad y Best Practices
SignalR y tiempo real
Domina .NET para tu próxima entrevista
Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.
Empieza gratis