Event-Driven Architecture
Problem
When an order changes, many systems care.
If the order system directly calls every consumer, it becomes coupled to all of them.
Solution — Events
Publish facts about things that happened.
OrderShipped
↓
┌───┼────┐
Email CRM Analytics
Consumers decide independently what to do.
Azure Event Grid routes event notifications to subscribers; Azure Service Bus topics give each subscription its own copy of matching messages; Azure Event Hubs stores event streams that consumers can read independently and replay within the retention period.
For example, the order service publishes OrderShipped to a Service Bus topic, and separate email, CRM, and analytics subscriptions receive it for processing.
Core idea: event-driven architecture connects systems through published facts rather than direct knowledge of every consumer.