<aside>
Contenido
</aside>
<aside>
Spring Boot 4.0.3 es la versión estable más reciente, lanzada el 19 de febrero de 2026.
Requiere Java 17 como mínimo y es compatble hasta con Java 25, aquí se está empleando Java 21, está basado en Jakarta EE 11 con Servlet 6.1. Esto es importante porque cambia algunas cosas respecto a Spring Boot 3.x.
Java 21 LTS, no Java 17 base, esto porque Spring Boot 4 lo recomienda, y Java 21 nos da:
Mecanismo de reintentos con backoff exponencial para llamadas síncronas entre microservicios. Si ms-clientes tiene un fallo momentáneo, el sistema reintenta 3 veces antes de rendirse.
Mapeo Entity a DTO en tiempo de compilación. Genera código estático, no usa reflection, y es type-safe. Se eligió sobre ModelMapper por performance y seguridad de tipos.
Base de datos relacional ACID compliant, crítico para operaciones financieras como movimientos de saldo. Excelente soporte con JPA/Hibernate 7 y estándar de la industria para datos transaccionales. Se emplea una instancia separada por microservicio (patrón Database per Service).
Broker de mensajería para comunicación asíncrona entre microservicios. Se eligió sobre Kafka por principio YAGNI: es más simple de configurar y operar, tiene routing flexible con exchanges, el volumen de mensajes no justifica Kafka, y Spring AMQP tiene soporte nativo excelente.
Contenedorización de los microservicios y la infraestructura (PostgreSQL, RabbitMQ). Multi-stage build en los Dockerfiles: la primera etapa compila con Maven, la segunda solo copia el JAR a una imagen ligera de JRE. Docker Compose orquesta los 5 contenedores.
Instancia Ubuntu 24.04 LTS (t3.small) para despliegue en la nube. Se despliega automáticamente mediante GitHub Actions (CI/CD): al hacer push a main, se ejecutan los tests y si pasan, se actualiza la instancia vía SSH.
Pruebas de integración con contenedores Docker reales de PostgreSQL y RabbitMQ. Cada test crea y destruye su propia infraestructura, garantizando aislamiento total sin depender del ambiente local.
</aside>