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.
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.
As a third option, I’ll show you the Outbox pattern which makes distributed transaction look like a rusty old timer. Join me in this talk and make sure you’ll never refund a customer twice, again.
Szymon Pobiega used to work on various business software for almost a decade. Of all the ideas and petterns he learnt along the way, messaging had the most profound impact. He built his first micro service system with MSMQ and NServiceBus 1.9 some 9 years ago and this was a life-changing experience.
Over three years ago Szymon quit consulting and joined Particular Software with hope to use his field experience to make NServiceBus even better. Szymon is focused, in Particular (pun intended), on message routing patterns and handling of failures. Besides that he enjoys building remotely controlled vehicles with Lego.
Help us make this conference the best it can be for you. Have questions you'd like this speaker to address? Suggestions for issues that deserve extra attention? Feedback that you'd like to share with the speaker and other attendees?
Join the conversation here (requires login)
©2018, O’Reilly UK Ltd • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • email@example.com