5 ms·
> Going back to our message-sending example, how might we use these concepts to ensure consistency? In this case, we might break the job into two pieces, with t
by chillaxtian 8y ago
> Going back to our message-sending example, how might we use these concepts to ensure consistency? In this case, we might break the job into two pieces, with the first one sending the message and enqueuing the second one, and the second one writing to the database. In that scenario, we can retry either job as many times as we want—if the message-sending provider is down, or the internal accounting database is down, we’ll appropriately retry until we succeed!
This still isn't any better than the initial example. It could still crash between sending the message and enqueueing the second job. So it may still send out the same message twice.
- tybit 8y agoThe writing wasn’t particular clear, this wasn’t a proposed solution but a use case where at least once delivery + idempotency ensures the message is never duplicated in either downstream system.
- peatfreak 8y agoI agree. I find the writing in this article to be unclear and it's making me very confused.