Saltar al contenido principal

Módulo 14: Técnicas Avanzadas de Spring Boot

Objetivos del Módulo​

Al finalizar este módulo, usted será capaz de:

  • Comprender la programación reactiva con Spring WebFlux
  • Implementar un sistema de caché con Redis
  • Configurar la mensajería asíncrona con RabbitMQ
  • Crear tareas programadas con @Scheduled
  • Desarrollar aplicaciones en tiempo real con WebSockets

Prerrequisitos​

Antes de comenzar este módulo, asegúrese de dominar:

  • Módulos 1-12: Fundamentos completos de Spring Boot
  • Módulo 13: Arquitectura de Microservicios
  • Docker (para Redis, RabbitMQ)
  • Conceptos de programación asíncrona

Plan del Módulo​

Capítulos Teóricos​

#CapítuloDuraciónDescripción
1Programación Reactiva1h30WebFlux, Mono, Flux, R2DBC
2Caché con Redis1h@Cacheable, @CacheEvict, Redis
3Mensajería Asíncrona1h15RabbitMQ, Spring AMQP
4Tareas Programadas45min@Scheduled, @Async, Cron
5WebSockets1hSTOMP, SockJS, tiempo real

Trabajos Prácticos​

#TPDuraciónDescripción
1Caché Redis1hCacheo de una API
2Mensajería RabbitMQ1h30Sistema de notificaciones
3WebSocket Chat1h30Aplicación de chat en tiempo real
4Tareas Programadas45minProcesos batch y reportes automáticos

Duración total estimada: 10 horas


Conceptos Clave​

Programación Reactiva vs Imperativa​

Imperativa (Spring MVC):
- Un hilo por solicitud
- Bloqueante
- Sencillo de comprender
- Escalabilidad limitada

Reactiva (WebFlux):
- Event loop
- No bloqueante
- Alta escalabilidad
- Curva de aprendizaje

Cuándo Usar Qué​

Caso de UsoTecnología
API CRUD clásicaSpring MVC
Alta concurrenciaWebFlux
Datos leídos frecuentementeCaché Redis
Desacoplamiento de serviciosRabbitMQ
Notificaciones en tiempo realWebSocket
Reportes periódicos@Scheduled

Stack Técnico​

TecnologíaVersiónUso
Spring WebFlux3.2.xProgramación reactiva
Project Reactor3.6.xMono/Flux
Redis7.xCaché distribuido
RabbitMQ3.12.xMessage broker
STOMP1.2Mensajería WebSocket

Arquitectura de los TPs​

Aplicación Avanzada
├── API REST (Spring MVC o WebFlux)
├── Capa de Caché (Redis)
├── Mensajería (RabbitMQ)
├── WebSocket (STOMP)
└── Tareas Programadas

Listo para Comenzar​

Asegúrese de tener Docker instalado para este módulo:

# Verificar Docker
docker --version

# Iniciar Redis
docker run -d --name redis -p 6379:6379 redis:7-alpine

# Iniciar RabbitMQ
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management

Comenzar el Capítulo 1: Programación Reactiva


Volver al inicio