I shall say this only once
And you shall do it only once. Exactly once. That's a very common assumption for most of business software. One trigger equals one outcome. Szymon Pobiega explains why duplicate messages are a fact of life in distributed systems (and why no infrastructure can help you). Fortunately, Szymon also shares tips on how to deal with nasty duplicate zombie messages.
Talk Title | I shall say this only once |
Speakers | Szymon Pobiega (Particular Software) |
Conference | O’Reilly Software Architecture Conference |
Conf Tag | Engineering the Future of Software |
Location | London, United Kingdom |
Date | October 29-31, 2018 |
URL | Talk Page |
Slides | Talk Slides |
Video | |
I shall say this only once. And you shall do it only once. Exactly once. That’s a very common assumption for most of business software. One trigger equals one outcome. As it turns out, it is easier said than done. Szymon Pobiega explains why duplicate messages are a fact of life in distributed systems (and why no infrastructure can help you). Fortunately, Szymon also shares tips on how to deal with nasty duplicate zombie messages. One way to solve the problem is to prevent messages from getting duplicated in the first place. This requires transactions spanning data stores and messaging systems, which is neither fast nor widely available. Another way is taking advantage of natural idempotency of some operations (e.g., adding an item to a set). But let’s face it, most business code is more complex than that. A third option is the outbox pattern, which makes distributed transaction look like a rusty old timer. Join Szymon to ensure you’ll never refund a customer twice again.