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.