5 ms·
Also, I think the answers you're getting keep telling you to build distributed transactions because a.) they didn't read your post and are overindexing on "mic
by mooted1 7y ago
Also, I think the answers you're getting keep telling you to build distributed transactions because
a.) they didn't read your post and are overindexing on "microservices"
b.) this isn't an atomicity problem, it's a workflow problem. When people say atomicity, they're usually referring to operations over data. In your case, it sounds like you need a way to coordinate execution of side-effectful operations (like creating a charge).
- LoSboccacc 7y agobut, when one starts talking about idempotence and retries the first thing that comes to mind is these are just user mediated two phases commits, where an error dialog and user interaction drive the phases instead of a distributed transaction system, by which point one can just cut the middleman and build the thing out of tested and robust components
- mooted1 7y agoWhat middleman do you want to cut out? My proposal doesn't add any dependencies. It's also not possible to prevent duplicate charges if a user POSTs a form twice without idempotency keys, so idempotency is necessary. I'm really not sure what you're actually proposing?
- LoSboccacc 7y agothe user doing the retries