Skip to content

Repository files navigation

ecom — Plataforma de Microservicios 2026

Proyecto educativo de microservicios con Spring Boot, Spring Cloud, PostgreSQL, Kafka y observabilidad.

Stack

Java 17, Spring Boot 3.5, Spring Cloud, PostgreSQL 16, Kafka, Prometheus, Loki, Grafana, Angular 21


Inicio rápido (DEV) — Maven local

# 1. Redes Docker (una sola vez)
docker network create ecom-prod-net
docker network create ecom-dev-net

# 2. Infraestructura (Maven, cada uno en su terminal)
cd infra/config    && mvn spring-boot:run   # http://localhost:18888
cd infra/eureka    && mvn spring-boot:run   # http://localhost:18761
cd infra/gateway   && mvn spring-boot:run   # http://localhost:18080/actuator/health

# 3. PostgreSQL para cada servicio que vayas a levantar
cd services/auth-ms     && docker compose -f compose-dev.yml up -d   # :15431
cd services/catalogo-ms && docker compose -f compose-dev.yml up -d   # :15432
cd services/producto-ms && docker compose -f compose-dev.yml up -d   # :15433

# 4. Microservicios (cada uno en su terminal)
cd services/auth-ms      && mvn spring-boot:run
cd services/catalogo-ms  && mvn spring-boot:run
cd services/producto-ms  && mvn spring-boot:run

Inicio rápido (PROD) — Docker

# 1. Red
docker network create ecom-prod-net

# 2. Levantar infraestructura (Docker compila las imágenes)
cd infra && docker compose up -d --build
#   http://localhost:28888 — Config Server
#   http://localhost:28761  — Eureka Dashboard
#   http://localhost:28082/actuator/health  — API Gateway health

# 3. Servicios (Docker compila cada imagen)
cd ../services/auth-ms      && docker compose up -d --build
cd ../catalogo-ms           && docker compose up -d --build --scale catalogo-ms=3
cd ../producto-ms           && docker compose up -d --build
cd ../orden-ms              && docker compose up -d --build
cd ../pago-ms               && docker compose up -d --build

Para modo mixto (Maven + Docker): arranca infra en Docker y pasa estas variables a tus servicios Maven:

CONFIG_SERVER_URL=http://localhost:28888
eureka.client.service-url.defaultZone=http://localhost:28761/eureka

Puertos

Componente Puerto host DEV (Maven) Puerto host PROD (Docker)
Config Server 18888 28888
Eureka 18761 28761
Gateway 18080 28082
auth-ms dinámico vía Gateway
catalogo-ms dinámico vía Gateway
producto-ms dinámico vía Gateway
orden-ms dinámico vía Gateway
pago-ms dinámico vía Gateway

Estructura

ecom/
├── infra/         ← Config, Eureka, Gateway
├── services/      ← auth-ms, catalogo-ms, producto-ms, orden-ms, pago-ms
├── clients/       ← ecom-ng (Angular)
├── kafka/         ← broker + UI
├── obs/           ← Prometheus, Loki, Grafana
├── docs/          ← libro digital (MkDocs)
└── extras/        ← experimentos

Documentación

Libro digital: docs/ (MkDocs, sirve en :8002 con docs/compose.yml)

About

Refactorización del proyecto de ms 2026-1 todo dentro de un único repo

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages