February 7, 2020

265 words 2 mins read

I shall say this only once

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.

comments powered by Disqus