Desarrollador backend especializado en arquitectura de microservicios, diseño orientado a dominio (DDD) y construcción de sistemas resilientes con Java y Spring Boot.
Actualmente enfocado en: Spring Cloud, resiliencia distribuida, integración de bases de datos políglotas y despliegues containerizados.
- Diseño de microservicios desacoplados con Spring Cloud (Config Server, Discovery Server, API Gateway).
- Integración de bases de datos políglotas (PostgreSQL + MongoDB).
- Aplicación de principios RESTful y buenas prácticas HTTP.
- Enfoque en Domain-Driven Design (DDD) en capa de dominio.
- Resiliencia con patrones como Circuit Breaker y Retry.
- Containerización y despliegue reproducible con Docker y Docker Compose.
Java 17/21 • Spring Boot • Spring Web • Spring Data • Spring Security • Spring Cloud • Maven • Lombok
Config Server • Discovery Server (Eureka) • API Gateway • Resilience4j • Kafka
PostgreSQL • MongoDB • MySQL
Docker • Docker Compose • Git • Postman • Swagger/OpenAPI
Arquitectura basada en microservicios utilizando Java 21 y Spring Boot.
- Config Server centralizado para gestión de configuración externa.
- Discovery Server (Eureka) para registro dinámico de servicios.
- API Gateway para enrutamiento y control de acceso.
- Persistencia políglota: PostgreSQL (transaccional) + MongoDB (documental).
- Comunicación entre servicios preparada para escalar a mensajería asíncrona.
- Despliegue completo con Docker Compose.
Sistema distribuido con autenticación y resiliencia aplicada.
- Autenticación basada en OAuth2/OIDC.
- Implementación de Circuit Breaker con Resilience4j.
- Separación clara de capas: Controller, Service, Domain, Repository.
- Pruebas de endpoints mediante Postman.
- Uso correcto de códigos HTTP y cabeceras Location en POST.
- Validaciones con Jakarta Validation.
- Separación DTO ↔ Entidad mediante mappers.
- Entidades orientadas a dominio (sin setters públicos innecesarios).
- Constructores protegidos para persistencia (Mongo / JPA).
Ejemplo genérico:
git clone https://github.com/Marco-Villanueva20/<repository>.git cd <repository> ./mvnw clean package ./mvnw spring-boot:run
O si incluye Docker:
docker compose up --build -d
Mi objetivo es evolucionar hacia arquitecturas escalables orientadas a eventos, mejorar patrones de resiliencia y construir sistemas backend preparados para producción.
---


