-
Notifications
You must be signed in to change notification settings - Fork 43
Open
Description
We can add a persistence adapter for Sage. The main goal of implementing it is to let users recover after node failures, making it possible to get better compensation guarantees. As I see it we need:
- Ability to use adapters (probably Ecto and RabbitMQ) to persist execution stages;
- Callbacks/Behaviour to define loader that resumes persistent compensations that are not completed.
- We need to make sure that compensations are processed "exactly once", or "at least once" (we need to take a tradeoff here).
This mechanism should be prone to network errors, eg. we should persist a state before executing a transaction, so that even if the node is restarted, compensation (even trough without knowing anything about the effect) would still start, potentially on another node.
gullitmiranda and dkarter
Metadata
Metadata
Assignees
Labels
No labels