AI Patterns
If you come from an AI, data engineering, or modern distributed systems background, you may know integration patterns by different names. This page maps common terms to the corresponding Camel EIPs.
See also the full Enterprise Integration Patterns index.
Data Flow
| Term | Camel EIP | Description |
|---|---|---|
Pipeline / Chain | Process a message through a sequence of steps. | |
Fan-out / Broadcast | Send the same message to multiple destinations in parallel. | |
Fan-in / Reduce / Join | Combine multiple related messages into a single message. | |
Scatter-Gather | Send a message to multiple recipients and aggregate their replies. | |
Map / Transform | Transform or replace the message content. | |
Split / Chunk | Break a message into smaller pieces for individual processing. | |
Merge | Merge multiple messages into one using a correlation key and aggregation strategy. | |
Filter | Discard messages that do not match a predicate. | |
Router / Dispatch | Route messages to different destinations based on content or rules. |
Enrichment and Context
| Term | Camel EIP | Description |
|---|---|---|
Enrich / Hydrate / Augment | Fetch additional data from an external source and merge it into the message. | |
Validate / Guard | Check that a message satisfies a condition before further processing. | |
Normalize | Convert messages from different formats into a single canonical format. | |
Serialize / Deserialize | Convert between objects and wire formats (JSON, XML, Avro, Protobuf, etc.). |
Resilience and Error Handling
| Term | Camel EIP | Description |
|---|---|---|
Retry | Automatically retry failed message processing with configurable backoff. | |
Circuit Breaker | Stop calling a failing service and provide a fallback response. | |
Fallback | Handle exceptions with onException (general), or define a Circuit Breaker fallback with onFallback. | |
Dead Letter / Poison Pill | Move messages that cannot be processed to a separate channel for investigation. | |
Compensate / Rollback | Undo or compensate for completed steps when a multi-step process fails. |
Rate Control and Scheduling
| Term | Camel EIP | Description |
|---|---|---|
Rate Limit / Throttle | Limit the number of messages processed per time period. | |
Debounce / Delay | Introduce a delay before processing a message. | |
Poll / Pull | Consume messages on demand rather than being pushed. | |
Loop / Iterate | Repeat processing a message a fixed number of times or until a condition is met. | |
Sample | Pick one message out of many in a time period to reduce volume. |
Load Distribution
| Term | Camel EIP | Description |
|---|---|---|
Load Balance | Distribute messages across multiple endpoints. | |
Round Robin | Distribute messages evenly in rotation. | |
Failover | Try the next endpoint when the current one fails. | |
Weighted | Distribute messages according to weighted ratios. | |
Sticky / Affinity | Route related messages to the same endpoint based on a correlation key. |
Deduplication and Idempotency
| Term | Camel EIP | Description |
|---|---|---|
Dedup / Deduplicate | Detect and discard duplicate messages based on a unique identifier. | |
Claim Check / Stash | Temporarily store message data and retrieve it later to reduce payload size. |
Connectivity
| Term | Camel EIP | Description |
|---|---|---|
Source / Ingress | Define the input endpoint that feeds messages into a route. | |
Sink / Egress | Send messages to a fixed or dynamically computed endpoint. | |
Connector / Adapter | Connect an application to a messaging system. | |
Webhook / Event-Driven | React to messages as they arrive without polling. | |
Gateway | Encapsulate access to the messaging system behind a clean interface. | |
Wire Tap / Tap / Observe | Send a copy of the message to a secondary destination for monitoring. |