u/broken-neuronsin r/dotnet • Recommends
On “'Don't use a database as a queue'”
#distributedsystems#outboxpattern#masstransit
230K subscribers • 110 videos on Hallway • Conference channel
Intermediate. Assumes working knowledge.
85K views7 years ago5 recommendations
Distributed systemsSoftware designConcurrency and parallelismFault tolerance and failureSoftware architecture
Jimmy Bogard analyzes how a seemingly simple checkout flow can fail in a distributed system and explores patterns to ensure correctness.
It seemed like an easy feature to implement, a checkout page to place an order. But this payment gateway has a simple API, so we added that. And this email service provider makes it possible to send an email with one line of code! Finally we can notify downstream systems via a message queue. The code looks simple, 6 little lines of distributed systems code. But those lines hid a dark secret that we only found after launching. Customers complained they didn't get their email. The back end system wasn't getting updated from our messages. And by far the worst of all, customers complained they saw an error page but still got charged! Clearly it wasn't as easy as calling a few APIs and shipping, we actually need to worry about those other systems. In this session, we'll look at taking our 6 lines of distributed systems fail, examining the inevitable failures that arise, and possible mitigating scenarios. We'll also look at the coupling our code contains, and the ways we can address it. Finally, we'll refactor towards a truly resilient checkout process that embraces, instead of ignoring, the fallacies of distributed computing. NDC Conferences ndcconferences.com ndcporto.comWhat people say. Highly recommended as an excellent explanation of failure scenarios in distributed systems and how to handle them reliably.
u/broken-neuronsin r/dotnet • Recommends
On “'Don't use a database as a queue'”
u/super-jurain r/dotnet • Recommends
On “In the case of building a system where we need to use pub/sub pattern (e.g. e-commerce), should we use MassTransit if we are building a monolithic app?”
u/broken-neuronsin r/dotnet • Recommends
On “API Retry Policy for a hierarchy of requests”
u/pdevito3in r/dotnet • Recommends
On “# Choosing Between using Clean/Onion or Vertical Slice Architecture for Enterprise Apps in .NET”
u/broken-neuronsin r/dotnet • Recommends
On “Proxy a bulk request to a none bulk endpoint in ASP.Net”
u/codeonlinein r/dotnet • Recommends
On “Transactional Outbox Pattern: Handling Failures Where an Event Has Multiple Handlers”
u/codeonlinein r/dotnet • Recommends
On “Transactional Outbox Pattern With Multiple DDD Sub-Domains”
u/peterknealein r/dotnet • Mentions
On “Heard of the Transactional Outbox pattern but unsure of the problem it solves?”
u/broken-neuronsin r/dotnet • Mentions
On “Multi tenancy”