Message Routing

Resequencer

Buffer related messages and release them in the intended sequence based on sequence numbers or ordering rules.

orderingsequencebuffer
The problem
How can we get a stream of related but out-of-sequence messages back into the correct order?
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 Resequencer works

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

Related messages
Resequencer
Combined result
1

Receive messages that belong to the same logical group.

2

Use Resequencer 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

Buffer related messages and release them in the intended sequence based on sequence numbers or ordering rules.

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

  • Service Bus sessions
  • Durable Functions state
  • Ordered BizTalk orchestration processing
GateSift relevance

How the analyzers can surface it

  • Ordered delivery settings
  • Sequence metadata

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