Upgrade to Pro — share decks privately, control downloads, hide ads and more …

.NET Day 19 - Knock. Knock. Who's there? A message from the future by Daniel Marbach

.NET Day 19 - Knock. Knock. Who's there? A message from the future by Daniel Marbach

Traditionally we look at time-based business rules like invoice reminders or making a customer preferred as batch jobs. We've always done it that way so why bother changing it? Simply put: the more customers and orders that are added to this system, the longer it will take the batch job to run. Your company's success can be your batch job's undoing. With messaging at hand we can start predicting the future by sending a message to our future selves.
In this talk, I show you how to leverage durable timeouts with messaging and the saga pattern to become the TimeLord in your business domains. You can finally get rid of your batch jobs. To satisfy the Doc Brown in all of us we'll dive into mad scientist implementations of durable timeouts in RabbitMQ and AmazonSQS. Knock. Knock. When's there?

dotnetday

May 28, 2019
Tweet

More Decks by dotnetday

Other Decks in Technology

Transcript

  1. Concurrency and latency in collaborative domains can lead to incorrect

    application of business rules even in safe architectures
  2. Batch Jobs increase the window of consistency problems Batch Jobs

    for time based business rules are the worst enemy for growth
  3. += o.Total -= o.Total 1 week += o.Total -= o.Total

    1 week += o.Total -= o.Total 1 week WeekTotal WeekTotal t
  4. += o.Total -= o.Total 1 week += o.Total -= o.Total

    1 week += o.Total -= o.Total 1 week WeekTotal WeekTotal t
  5. Sagas on top of a robust middleware allow to focus

    on the business logic and stay reactive