Patrón saga: qué hacemos cuando un proceso queda a mitad de camino
Copete: Cuando una operación atraviesa varios servicios, una falla puede dejar pasos completados y otros pendientes. El patrón saga ayuda a coordinar ese recorrido.
Pensemos en un alta digital: registrar un cliente, validar su identidad y solicitar una cuenta a un proveedor. Cada paso puede funcionar por separado, pero el proceso completo puede fallar.
¿Qué hacemos si registramos al cliente y el proveedor de cuentas no responde?
El patrón saga organiza el proceso como una secuencia de transacciones locales. Cada paso confirma sus cambios y, cuando corresponde, tiene una acción de compensación para contrarrestar lo realizado.
Compensar requiere una decisión de negocio
Cancelar una reserva puede ser una compensación. Borrar un cliente o una cuenta ya creada podría ser incorrecto o directamente imposible.
Según el caso, conviene reintentar, dejar la operación pendiente o pedir intervención manual. Además, un timeout no demuestra que el proveedor haya rechazado la solicitud: podría haberla procesado sin que recibamos la respuesta.
Por eso, diseñar una saga exige definir estados, idempotencia y mecanismos de conciliación. En un onboarding, poder explicar dónde quedó un alta y cómo continuarla es parte del funcionamiento del producto.
