Communication Patterns
The patterns that define how components, services, and systems exchange information — synchronously and asynchronously, point-to-point and brokered.
Request-Response
Direct synchronous call and immediate reply — the simplest communication pattern for immediate answers.
Pub/Sub
One event distributed to multiple subscribers — for decoupled, independent consumer reactions.
Message Queues
Producer and consumer decoupled in time through a durable buffer for deferred processing.
Event Streaming
Continuous flow of ordered, replayable events for real-time and historical processing.
Webhooks
Outbound callbacks to notify external systems when events occur in your system.
Command Pattern
Intent-driven instructions to perform an action, decoupled from the actor that issues it.
Event Notification
Propagating facts about state changes to other parts of the system without coupling.
Fan-Out/Fan-In
Distribute work to many workers then aggregate results for parallelizable tasks.
Competing Consumers
Multiple workers consuming from a shared queue to scale message processing horizontally.
Claim Check Pattern
Store large message payloads externally and pass only a reference token in the message.
Message Routing
Directing messages to the correct handler based on content, headers, or routing rules.
Correlation IDs
Tracking requests across distributed services for end-to-end observability and debugging.
Transactional Outbox
Publishing messages reliably by writing them atomically to the database alongside business state.
Inbox Pattern
Idempotent message consumption by recording processed message IDs in a consumer inbox table.