Patrón Saga

En los sistemas distribuidos, una operación de negocio puede involucrar varios servicios independientes. Por ejemplo, una compra en línea puede requerir reservar inventario, procesar un pago, generar una factura y coordinar el envío.

El problema aparece cuando una de estas etapas falla después de que las anteriores ya se completaron. El patrón Saga ofrece una estrategia para coordinar estas operaciones mediante una secuencia de transacciones locales y acciones compensatorias.

Si el pago se procesa, pero el envío no puede organizarse, el sistema puede ejecutar una acción compensatoria para cancelar la operación o devolver el importe, según las reglas del negocio.

Mini guía práctica

  • Dividir el proceso en transacciones independientes.
  • Definir el orden de ejecución.
  • Establecer qué acción compensatoria corresponde a cada etapa.
  • Registrar el estado de cada operación.
  • Probar fallos en diferentes puntos del proceso.

Tip Winxgo: Una acción compensatoria no siempre revierte literalmente lo sucedido. En ocasiones consiste en generar una nueva operación que corrige el estado del negocio.

¿Consideras que el patrón Saga es una buena alternativa para plataformas que dependen de múltiples microservicios?

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This will close in 10 seconds

This will close in 0 seconds