← Volver al listado de tecnologías
Saga Pattern: Guía Completa
Saga Pattern: Guía Completa
“Cuando las transacciones ACID no son suficientes, las Sagas mantienen la consistencia”
Sobre este Tutorial
Aprenderás a implementar el patrón Saga para manejar transacciones distribuidas. Construiremos el mismo Sistema de Pedidos E-commerce que en Event Sourcing, pero enfocándonos en la coordinación entre servicios.
Proyecto: OrderFlow
Sistema distribuido con microservicios:
- Order Service: Gestión de pedidos
- Inventory Service: Control de stock
- Payment Service: Procesamiento de pagos
- Shipping Service: Envíos y logística
- Notification Service: Alertas y emails
Tecnologías
| Categoría | Tecnologías |
|---|---|
| Backend | TypeScript, Go, Python |
| Message Broker | RabbitMQ, Kafka, Redis Streams |
| Base de Datos | PostgreSQL, MongoDB |
| Orquestación | Temporal.io, custom orchestrator |
| Frontend | React |
| Testing | Vitest, testcontainers |
| DevOps | Docker Compose, Kubernetes |
Índice de Capítulos
Parte I: Fundamentos Teóricos
- Capítulo 1: Introducción a Transacciones Distribuidas
- Capítulo 2: El Problema del Two-Phase Commit
- Capítulo 3: Sagas - Orquestación vs Coreografía
- Capítulo 4: Transacciones Compensatorias
- Capítulo 5: Diseño de Sagas Resilientes
Parte II: Coreografía con TypeScript
- Capítulo 6: Setup del Proyecto Microservicios
- Capítulo 7: Order Service - Iniciando la Saga
- Capítulo 8: Inventory Service - Reserva de Stock
- Capítulo 9: Payment Service - Procesamiento de Pagos
- Capítulo 10: Compensaciones y Rollback
Parte III: Orquestación con TypeScript
- Capítulo 11: Saga Orchestrator - Diseño
- Capítulo 12: Implementando el Orchestrator
- Capítulo 13: Estado de la Saga y Persistencia
Parte IV: Implementación en Go
Parte V: Implementación en Python
Parte VI: Message Brokers
Parte VII: Frontend y Producción
- Capítulo 20: Frontend - Tracking de Pedidos
- Capítulo 21: Testing de Sagas
- Capítulo 22: Observabilidad Distribuida
- Capítulo 23: Deployment en Kubernetes
Requisitos Previos
- Conocimientos de microservicios
- Familiaridad con message brokers
- Docker y Docker Compose
- Node.js 20+, Go 1.21+, Python 3.11+
Repositorio
git clone https://github.com/siemprelisto/orderflow-saga-pattern