Message Routing

Aggregator

Collect correlated messages until a completion condition is satisfied, then publish a single result produced by an aggregation algorithm.

aggregatecorrelationstate
The problem
How do we combine the results of individual, but related messages so that they can be processed as a whole?
Adapted from Enterprise Integration Patterns under CC BY 3.0. The visualization and explanatory content on this page are original GateSift material.
Original GateSift visualization

How Aggregator works

Several related messages are collected and turned into one coordinated result.

Related messages
Aggregator
Combined result
1

Receive messages that belong to the same logical group.

2

Use Aggregator to correlate, hold and decide when the group is complete.

3

Publish the combined or correctly ordered result.

GateSift explanation

What this pattern helps you decide

Collect correlated messages until a completion condition is satisfied, then publish a single result produced by an aggregation algorithm.

What happens when processing fails or the same message is delivered twice?
Where does state, correlation or routing configuration live?
How will operators trace the message and understand the decision path?
Common Azure implementations

Where you may see it

  • Durable Functions orchestration
  • Logic Apps stateful workflow
  • BizTalk convoy/correlation
GateSift relevance

How the analyzers can surface it

  • Correlation and stateful orchestration
  • Many-to-one flow shape

Pattern detection is contextual. GateSift should present these as architectural signals, not claim a pattern is implemented solely because one policy statement or adapter exists.

Source, licence and attribution

The pattern name and selected problem statement are adapted from Enterprise Integration Patterns by Gregor Hohpe and Bobby Woolf under CC BY 3.0. GateSift summaries, Azure mappings, analyzer guidance and diagrams are original. No endorsement by the original authors is implied.

Back to pattern library