Saltar al contenido
Proyectos

Portfolio Microservices Platform

destacado

Este mismo sitio: plataforma de microservicios con Nginx, gateway propio, API REST en Go, GraphQL en Django y pipeline asíncrono con Celery.

GoDjangoGraphQLPostgreSQLRedisCeleryNginxDocker

## Contexto Plataforma completa que sirve este portfolio. Un edge Nginx enruta hacia una SPA React y un gateway que aplica rate limiting con Redis, request-id y CORS antes de delegar en dos backends: Go (REST, lectura) y Django (GraphQL, dueño del esquema). El contacto viaja Cliente → Nginx → Gateway → Go → Django → PostgreSQL con notificación asíncrona vía Celery.

Problema

Los portfolios estáticos no demuestran ingeniería real: sin contratos entre servicios, sin observabilidad, sin decisiones de arquitectura que defender.

Solución

Arquitectura de microservicios con contratos congelados (CONTRACTS.md), un único dueño del esquema (ADR-0003), redes Docker segmentadas (edge/internal/data), health checks en cada contenedor y logs JSON con request-id propagado extremo a extremo.

Resultado

Un sistema reproducible con `docker compose up`: 8 contenedores orquestados, despliegue continuo con Jenkins y una demo tangible de Clean Architecture aplicada a algo real.

Arquitectura

Arquitectura de esta plataformaEl cliente entra por Nginx, que enruta al gateway. El gateway aplica rate limiting y envía REST a la API Go y GraphQL a Django. El contacto viaja de Go a Django mediante una mutation interna, Django persiste en PostgreSQL y encola notificaciones en Redis para Celery.httpsproxy/api/v1/graphqlmutation internaSQL (ro)SQL (rw)colasClientenavegadorNginxedge :80Gatewayrate-limit · CORSGo APIREST · lecturaDjangoGraphQL · escritorPostgreSQLdb portfolioRedis · Celeryasync jobs
Este mismo sitio: solo Nginx expone puerto; redes segmentadas edge / internal / data. Django es el único escritor del esquema (ADR-0003).