Designing a Scalable Notification System using .NET, Azure Service Bus, MediatR, and SignalR
Why I’m Writing This In one of my recent projects, we had a fairly common requirement on paper: “Send notifications when something happens.” But as usual, the reality was more complex: Notification...

Source: DEV Community
Why I’m Writing This In one of my recent projects, we had a fairly common requirement on paper: “Send notifications when something happens.” But as usual, the reality was more complex: Notifications had to be real-time System needed to scale Multiple consumers (email, UI, future integrations) And most importantly — no tight coupling I’ve seen systems break because notifications were treated as a “side feature”. So I thought I’d share how I approached designing this properly. The Problem with the “Simple” Approach The first instinct is usually something like: API → Save to DB → Send Email / Notification Looks fine initially. But over time: Every feature starts calling notification logic directly Adding a new channel (SMS, push) becomes painful Failures in notification start impacting core business flow I’ve been there — it doesn’t scale well. How I Think About It I try to separate concerns clearly: Business action happens (Order placed, Payment done) System emits an event Other parts of