Integration Patterns Reference

Patterns for messaging and application integration.

Integration Patterns Reference

Intent, fit, trade-offs, and relationships for messaging and application integration.

Updated 2026-07-22

Message Channel

Connect applications through a logical path that carries messages.

AspectGuidance
Use whenSenders and receivers should communicate asynchronously without direct location coupling.
Trade-offsDelivery, ordering, retention, and ownership must be defined.
RelatedMessage Endpoint, Pipes and Filters

Point-to-Point Channel

Deliver each message to one eligible consumer.

AspectGuidance
Use whenWork should be distributed without duplicating each task.
Trade-offsConsumers compete and processing order may differ from send order.
RelatedCompeting Consumers, Publish-Subscribe Channel

Publish-Subscribe Channel

Deliver each publication to every interested subscriber.

AspectGuidance
Use whenIndependent consumers react to the same event.
Trade-offsSlow, unavailable, and late subscribers need explicit retention semantics.
RelatedPoint-to-Point Channel, Event-Driven Consumer

Dead Letter Channel

Store messages that cannot be delivered or processed for diagnosis and recovery.

AspectGuidance
Use whenFailures must not block a channel or disappear silently.
Trade-offsWithout alerting, retention, and replay procedures it becomes a message graveyard.
RelatedRetry, Invalid Message Channel

Message Envelope

Wrap a business payload with transport and processing metadata.

AspectGuidance
Use whenRouting, versioning, identity, or tracing must travel with a payload.
Trade-offsEnvelope ownership and version compatibility must be standardized.
RelatedCorrelation Identifier, Message Translator

Correlation Identifier

Identify messages that belong to the same request or conversation.

AspectGuidance
Use whenReplies, fragments, or events must be matched across asynchronous boundaries.
Trade-offsEvery participant must preserve the identifier and choose its lifecycle.
RelatedAggregator, Request-Reply

Content-Based Router

Select a destination by evaluating message data.

AspectGuidance
Use whenDifferent message kinds or values require different processing paths.
Trade-offsCentral routing rules can become coupled to every message schema.
RelatedMessage Filter, Recipient List

Message Filter

Remove messages that do not satisfy a predicate.

AspectGuidance
Use whenA downstream channel should receive only relevant messages.
Trade-offsDiscard behavior must be observable when filtered data matters.
RelatedContent-Based Router, Invalid Message Channel

Recipient List

Send one message to a dynamically computed set of recipients.

AspectGuidance
Use whenDestinations depend on message content or runtime configuration.
Trade-offsPartial delivery, duplicate effects, and result collection require policy.
RelatedPublish-Subscribe Channel, Aggregator

Splitter

Divide a compound message into independently processable messages.

AspectGuidance
Use whenParts can be processed, routed, or retried separately.
Trade-offsSequence, correlation, and completion metadata must survive the split.
RelatedAggregator, Resequencer

Aggregator

Combine a related set of messages into one result.

AspectGuidance
Use whenFragments or parallel results must be reassembled.
Trade-offsCompleteness, timeouts, duplicates, ordering, and persistent state are difficult.
RelatedSplitter, Correlation Identifier

Resequencer

Buffer related messages and release them in a defined order.

AspectGuidance
Use whenTransport or parallel processing can reorder messages whose sequence matters.
Trade-offsMissing messages force timeout and memory decisions.
RelatedAggregator, Splitter

Routing Slip

Attach a dynamic list of processing destinations to a message.

AspectGuidance
Use whenEach message may need a different sequence of steps.
Trade-offsItineraries expose topology and make centralized policy harder.
RelatedProcess Manager, Pipes and Filters

Message Translator

Convert a message from one data format or vocabulary into another.

AspectGuidance
Use whenConnected systems use incompatible contracts.
Trade-offsSemantic loss and version combinations accumulate at boundaries.
RelatedCanonical Data Model, Adapter

Canonical Data Model

Use one shared integration vocabulary between application-specific translators.

AspectGuidance
Use whenMany applications would otherwise require pairwise transformations.
Trade-offsThe canonical model can become huge, political, and slow to evolve.
RelatedMessage Translator, Anti-corruption Layer

Content Enricher

Add missing information to a message from another source.

AspectGuidance
Use whenA downstream step requires data the sender should not provide.
Trade-offsEnrichment adds latency and introduces dependency failure and staleness.
RelatedContent Filter, Claim Check

Claim Check

Store a large or sensitive payload and pass a reference through the channel.

AspectGuidance
Use whenTransport limits, repeated routing, or security favor an external payload store.
Trade-offsClaims expire, stores fail, and cleanup must align with message lifetime.
RelatedContent Enricher, Message Store

Polling Consumer

Let a receiver request messages when it is ready.

AspectGuidance
Use whenThe consumer controls pace or integrates with a synchronous loop.
Trade-offsPolling interval trades latency against empty requests.
RelatedEvent-Driven Consumer, Competing Consumers

Event-Driven Consumer

Invoke message handling when a message arrives.

AspectGuidance
Use whenLow latency and push-style APIs are preferred.
Trade-offsConcurrency and backpressure move into callbacks or the runtime.
RelatedPolling Consumer, Publish-Subscribe Channel

Competing Consumers

Attach multiple workers to one point-to-point channel.

AspectGuidance
Use whenMessage processing needs horizontal scale and failover.
Trade-offsOrdering, shared resources, and uneven work complicate scaling.
RelatedPoint-to-Point Channel, Idempotent Receiver

Idempotent Receiver

Process duplicate messages without producing duplicate logical effects.

AspectGuidance
Use whenAt-least-once delivery or retries are possible.
Trade-offsMessage identity and deduplication retention require durable state.
RelatedCompeting Consumers, Dead Letter Channel

Pipes and Filters

Compose independent transformations as filters connected by channels.

AspectGuidance
Use whenProcessing can be decomposed into reusable, reorderable stages.
Trade-offsSerialization, observability, and end-to-end error handling span many stages.
RelatedRouting Slip, Message Channel

Description

Patterns for messaging and application integration.

References

Similar or alternative tools

Don't forget to set a bookmark for tool.io!
Privacy | Imprint | Cookies