Compensating Transaction Pattern
Provides scenario for when an operation within a set of bundled operations fails
Instead of wrapping them in atomic transaction
The compensating transaction will undo the effect of the original failing transaction
The compensating transaction is not a mirror of the original one, but rather a way to put data back into eventually consistent state
We can use workflows to register bundled operations as they are performed
Compensating operations might run in different orders than the original ones
Both original and compensating operations should be defined as idempotent commands
Made with Slides.com