Skip to main content

Module dispatch

Module dispatch 

Source
Expand description

Conversation-mediated dispatch (ADR-007).

A dispatch conversation replaces Kafka-style consumer group rebalancing with per-message, fault-aware consumer selection. For each message the dispatch conversation evaluates the group’s routing function to select a target consumer, links the dispatch process to that consumer via a beamr process link, forwards the message, and observes completion. If the linked consumer crashes, the link fires immediately (no polling, no heartbeat) and the conversation re-routes the message to another available consumer, excluding the one that crashed. Selection is always via the routing function — never random — and adding or removing consumers takes effect on the next dispatch without a stop-the-world rebalance.

Structs§

DispatchConversation
Drives conversation-mediated dispatch for one consumer group.
DispatchOutcome
Outcome of a successful dispatch: the consumer the message was delivered to and the chain of consumers that crashed and were re-routed past, in order.
RerouteTiming
Real crash-to-reroute latency along the event path.

Enums§

DispatchError
Failure surfaced when a message cannot be dispatched to any consumer.