GuíaBásico

Guía de Arquitectura Dirigida por Eventos

Aprende a construir sistemas que se comunican por eventos en vez de por llamadas directas: cuándo un evento le gana a una llamada síncrona, cómo funciona un broker, cómo consumir eventos de forma idempotente, cómo publicarlos de forma confiable con el patrón outbox, y los patrones grandes que habilita —event sourcing, CQRS, sagas—. Trabajas sobre un solo caso de principio a fin: Mercado, cuyo checkout hoy es una cadena frágil de llamadas síncronas (si `notifications` cae, el pedido falla), y que vas a convertir en un flujo dirigido por eventos donde `orders` emite `OrderPlaced` y varios servicios reaccionan de forma desacoplada. Todo se simula y se ejecuta en Python con un broker en memoria: vas a medir cómo la entrega at-least-once produce duplicados y cómo un consumidor idempotente los neutraliza, simular un crash que expone el dual-write problem y ver cómo el outbox lo resuelve, reconstruir el estado de un `Order` reproduciendo su log de eventos, y ejecutar una saga con compensación. Al terminar sabes qué gana y qué paga un sistema dirigido por eventos frente a uno síncrono.

64
lecciones
8
módulos
Inglés · Español
disponible en
certificado
Gratis
acceso
NIEVA

Resultados

Lo que vas a poder hacer

  • Distinguir evento de comando, y entender el desacople temporal que habilita el patrón pub/sub
  • Comprender el broker: cola vs. topic, offset, grupos de consumidores, y por qué la entrega es at-least-once (nunca exactly-once)
  • Construir consumidores idempotentes que deduplican por `event_id`, y manejar el orden cuando no está garantizado
  • Resolver el dual-write problem con el patrón outbox: publicar un evento de forma confiable en la misma transacción que el dato
  • Aplicar event sourcing: guardar el log de eventos como fuente de verdad y reconstruir el estado por replay
  • Aplicar CQRS: separar el modelo de escritura del de lectura y entender la consistencia eventual del read model
  • Diseñar sagas para transacciones de negocio que cruzan varios servicios, con acciones compensatorias cuando un paso falla
  • Convertir de punta a punta un flujo síncrono frágil en uno dirigido por eventos, con idempotencia, outbox y saga ejecutados y medidos

Antes de empezar

Qué necesitas traer

Es para ti si...

  • Backend devs con un flujo síncrono frágil (una llamada cae y todo el proceso falla) que quieren desacoplarlo
  • Devs que ya usan una cola o un broker mensajería pero no aplican idempotencia ni manejan duplicados con criterio
  • Cualquiera que necesite entender event sourcing, CQRS o sagas antes de decidir si su sistema los necesita
  • Equipos evaluando mover parte de su arquitectura de llamadas síncronas a eventos, y quieren medir el tradeoff, no asumirlo

Requisitos y materiales

  • Python básico (los brokers y las simulaciones de esta guía corren en Python, sin Kafka ni RabbitMQ reales)
  • Conocimientos generales de bases de datos y transacciones
  • No se requiere experiencia previa con mensajería, colas ni sistemas distribuidos

Contenido

El temario, módulo por módulo

Abre cualquiera para ver sus lecciones.

Dudas frecuentes

Lo que suele preguntarse

Empieza cuando quieras

Reseñas

Lo que dicen los estudiantes

Estas reseñas son de estudiantes inscritos que completaron al menos el 50% del curso. Moderamos las reseñas solo por motivos de contenido (spam, lenguaje ofensivo, datos personales), nunca por ser críticas o negativas.

Aún no hay reseñas aprobadas.

¡Sé el primero en compartir tu experiencia!