Skip to content

Outbox Pattern

Joel Alvarez edited this page Jul 12, 2026 · 1 revision

Outbox Pattern

Outbox Pattern guarda cambios de dominio y mensajes pendientes en la misma unidad de trabajo. Después, un publicador lee la bandeja de salida, envía los mensajes y marca cuáles ya salieron.

Qué problema resuelve

  • Evita perder eventos cuando falla el broker.
  • Mantiene entidad y mensaje en un mismo commit lógico.
  • Permite publicar de forma asíncrona.
  • Hace reintentables los mensajes pendientes.
  • Reduce inconsistencias entre base de datos y eventos.

Ejemplos del repositorio

  • Guardar entidad y evento en la misma unidad de trabajo.
  • Publicador que marca mensajes como enviados.
  • Reintento de mensajes pendientes.

Código

  • Documentación local: patterns/distributed_systems/outbox_pattern/README.md
  • Módulo Rust: src/patterns/distributed_systems/outbox_pattern.rs
  • Ejemplo de unidad de trabajo: src/patterns/distributed_systems/outbox_pattern/unit_of_work.rs
  • Ejemplo de publicador: src/patterns/distributed_systems/outbox_pattern/publisher_marks_sent.rs
  • Ejemplo de reintento de pendientes: src/patterns/distributed_systems/outbox_pattern/retry_pending.rs

Clone this wiki locally