All coupons / Development

Spring Boot 4: Arquitectura de Microservicios

Course Description

Este curso está diseñado para desarrolladores Java que quieren entender y construir microservicios con Spring Boot 4, aplicando criterios de arquitectura, buenas prácticas y herramientas utilizadas en proyectos profesionales. A lo largo del curso no solo aprenderás qué hacer, sino por qué se toman ciertas decisiones técnicas al diseñar APIs y sistemas distribuidos. Partimos desde una base sólida —configuración del entorno, estructura de proyectos profesional y fundamentos de microservicios— para luego avanzar hacia la construcción de servicios completos y desacoplados. En las primeras secciones desarrollamos un Product Service como núcleo del sistema, utilizando Spring Boot 4, MongoDB y Docker, evitando dependencias innecesarias en el entorno local. Aprenderás a organizar el código en capas claras (Controller, Service, Repository y Model), aplicar MapStruct para el mapeo entre entidades y DTOs, y manejar errores de forma moderna mediante Global Controller Advice y ProblemDetail (RFC 7807). El curso pone especial énfasis en diseño limpio y mantenible: separación de responsabilidades, validación de datos, inyección de dependencias por constructor, logging estructurado y manejo de errores profesional. A medida que el proyecto evoluciona, incorporamos los componentes clave de una arquitectura de microservicios real: Config Server para configuración centralizada Eureka para Service Discovery API Gateway como punto de entrada único Comunicación síncrona con WebClient y HTTP Interfaces La resiliencia se implementa con Resilience4j (Circuit Breaker, Retry, Timeout), y la comunicación asíncrona con RabbitMQ, incluyendo el patrón Saga para transacciones distribuidas, Dead Letter Queues y Transactional Outbox para garantizar consistencia eventual. La seguridad se implementa con OAuth2, JWT y Keycloak como Identity Provider, incluyendo Token Relay, verificación de identidad con Gmail y control de acceso basado en roles. Para observabilidad, utilizamos el stack moderno: OpenTelemetry para instrumentación, Prometheus para métricas y Grafana para visualización y monitoreo (LGTM Stack). Finalmente, desplegamos todo el sistema con Docker Compose y Kubernetes (Minikube), migrando de Eureka a service discovery nativo de Kubernetes, simulando un entorno de producción real. El curso también incluye Virtual Threads de Java 21 para mejorar el rendimiento en escenarios de alta concurrencia.