Tag

#saga

6 posts

Resonate brand card on a dark background with an ember spectrum wave at the lower left, the headline 'Saga / Compensation' in white Sansation, and the subtitle 'Coming from Temporal · Go SDK'.
5 min readResonate HQ

Coming from Temporal: The Saga Pattern in Go

Temporal registers compensation eagerly with defer closures that unwind LIFO. Resonate runs it inline in the error branch — same reverse-order rollback, different shape.

Maps Temporal's saga sample to example-money-transfer-go: defer-LIFO compensation vs. inline guarded undo — same reverse-order rollback, different code shape.

Resonate brand card on a dark background with a teal spectrum wave at the bottom and the post headline in white Sansation.
5 min readResonate HQ

Saga with compensating actions in TypeScript on Resonate

How a saga collapses to a generator function with try/catch when every step is a Resonate durable checkpoint.

Book a flight, hotel, and car rental as a single transaction. If the car rental fails, hotel and flight are cancelled in reverse order. Each step is a durable checkpoint, so a crash mid-compensation resumes where it left off.

Resonate brand card on a dark background with a plum spectrum wave at the bottom and the post headline in white Sansation.
4 min readResonate HQ

Saga with compensating action in Python on Resonate

How a two-step money transfer with compensating reversal is written as straight-line Python when each step is a Resonate durable checkpoint.

Move funds between two accounts with debit + credit + compensating reversal against a SQLite ledger. Each step is a durable checkpoint and replays are idempotent on a deterministic op_id.

Resonate brand card on a dark background with a teal spectrum wave at the bottom and the post headline in white Sansation.
4 min readResonate HQ

Multi-step food delivery saga in TypeScript on Resonate

How a six-step delivery pipeline with a no-driver compensation branch fits inside a single generator function when every yield is a Resonate durable checkpoint.

A six-step food delivery pipeline — order, prepare, assign driver, pickup, deliver, complete — where every step is a durable checkpoint and a transient mid-step failure retries in place without re-invoking earlier steps.