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.