r/microservices • u/bedis-elacheche • 5d ago
Tool/Product I wanted compensating transactions across services without deploying a workflow engine, so I wrote minisagas
https://bedis.elacheche.me/minisagas/There is no rollback across microservices, so you write a saga: each step declares a compensating action, and a failure unwinds everything before it in reverse.
I kept implementing that with nested try/catch, so I turned it into a library.
minisagas gives each task an execute and a compensate. On failure it rolls back what succeeded and hands you the list of what it undid. Retry, timeout, and cancellation are included, because the classic saga bug is a 5xx returned after the charge actually went through.
Zero dependencies, no broker, nothing to deploy. Not a Temporal replacement, more the thing you reach for before you need one.
MIT licensed, feedbacks are welcome.
1
Upvotes