Publisher writes events
Order Service completes a purchase, publishes OrderCreated. Doesn't know who consumes. Doesn't wait.
Advertisement
Publisher writes events
Order Service completes a purchase, publishes OrderCreated. Doesn't know who consumes. Doesn't wait.
Advertisement
Multiple subscribers
Inventory decrements stock. Shipping schedules dispatch. Analytics logs. Notifications emails. All from one event.
At-least-once delivery
Kafka guarantees at-least-once. Consumers must be idempotent — same event twice shouldn't cause double side effects.
Ordering caveats
Order within a partition. If you need order across events for one entity, partition by entity ID.
Debugging is harder
Sync = 'trace the call'. Async = 'find the event, find its consumers, correlate'. Invest in trace propagation early.