Routing
Deciding where each message goes, and splitting or recombining batches along the way.
Routing patterns move messages to the right destination based on content and reshape the granularity of a feed. Filters and routers choose destinations; splitters and aggregators turn one message into many or many into one; the resequencer and dynamic router handle ordering and runtime targets.
Message filter. A subscription that accepts only messages matching a predicate and ignores the rest.
Content-based router. Send each message to a different destination based on its content, with a default branch.
Recipient list. Send one message to a computed subset of destinations that the content selects.
Splitter (debatch). Break an envelope or collection into individual canonical messages, each published separately.
Multi-type splitter. Debatch one mixed envelope into individual messages of differing message types.
Aggregator (batch). Collect related messages by key until complete, then publish one combined message.
Resequencer. Restore order to messages that arrive out of sequence, releasing them by sequence number.
Dynamic router. Route to a destination computed at runtime rather than a fixed branch.