4 ms·
Funny, I made a very similar comment recently: A concrete example we've faced. A certain operation requires writing data to N flaky services. You successfully
by msluyter 11y ago
Funny, I made a very similar comment recently:
A concrete example we've faced. A certain operation requires writing data to N flaky services. You successfully write to N-1 of them, but the Nth fails. Now what do you do?
If these N things were just database writes to the same DB, transactions would save you, as you could just rollback. Without that, the answer has to be handled in code -- do you reverse the previous changes (if possible) by sending delete events, or leave the system in some sort of half-baked state and rectify things later via some other process? (I'm interested in hearing of other options...)
The answers I got were:
1) apologetic computing (Amazon)
2) consensus algorithms / paxos
The problem I see is that these may be non-trivial to implement and/or not fully understood or standardized.
- batou 11y ago3) Reservation pattern. This one really works well.