Microservices Architecture
NestJS microservices with RabbitMQ for user and transaction management.
Role
Implementer ImplementadorProblem
Coordinate user and transaction operations across services without tight coupling. Coordinar operaciones de usuarios y transacciones entre servicios sin acoplamiento fuerte.Impact
Message-driven boundaries with RabbitMQ — reference for async inter-service communication. Límites orientados a mensajes con RabbitMQ — referencia de comunicación async entre servicios.Technical stack
Layer-by-layer breakdown of subsystems, repositories, and production concerns.
Users microservice Microservicio de usuarios
CRUD and auth-related user operations exposed only via RabbitMQ message patterns — no direct HTTP from peers. Operaciones CRUD y auth de usuarios expuestas solo vía patrones RabbitMQ — sin HTTP directo entre pares.
- Own database and bounded context Base de datos y bounded context propios
Transactions microservice Microservicio de transacciones
Processes money movement events and maintains transaction history in a separate MongoDB database. Procesa eventos de movimiento de dinero y mantiene historial de transacciones en MongoDB separada.
- Async coordination with users service Coordinación async con servicio de usuarios
RabbitMQ messaging layer Capa de mensajería RabbitMQ
Request/response and event channels decouple services — handlers registered per queue/topic pattern. Canales request/response y eventos desacoplan servicios — handlers registrados por patrón de cola/topic.
- Reference for message-driven boundaries Referencia de límites orientados a mensajes
HTTP entry (companion gateway) Entrada HTTP (gateway complementario)
Designed to pair with the API Gateway repo — external clients hit HTTP while internals stay on the bus. Diseñado para emparejar con el repo API Gateway — clientes externos usan HTTP mientras internals van al bus.
- Clear separation between edge and domain services Separación clara entre edge y servicios de dominio
Related topics
Explore curated hubs that connect this work with case studies, articles, and learning repos.