Message Routing

Content-Based Router

Inspect message content and route to the destination whose rules match. Keep routing rules visible and maintainable because they often become a frequent change point.

routingcontentbranching
The problem
How do we handle a situation where the implementation of a single logical function is spread across multiple physical systems?
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 Content-Based Router works

A routing decision sends the message along one of several possible paths.

Incoming message
Content-Based Router
Route A
Route B
Fallback
1

Inspect message content, metadata, state or routing configuration.

2

Use Content-Based Router to select the next destination or processing step.

3

Continue on the selected path while keeping the producer decoupled from destinations.

GateSift explanation

What this pattern helps you decide

Inspect message content and route to the destination whose rules match. Keep routing rules visible and maintainable because they often become a frequent change point.

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

  • APIM choose/when
  • Service Bus SQL filters
  • BizTalk send-port filters
GateSift relevance

How the analyzers can surface it

  • APIM choose branches
  • BizTalk filter expressions

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