Consistent hash

Shipped

Sticky routing — the same key always lands on the same recipient.

Example

How Consistent hash decides — the pool is evaluated and the winner is assigned. Each strategy selects differently.

type == "lead"key →TriggerNew LeadWebhookHashConsistent hashStrategycentralkey ✓ stickyAssigned
Show the code
// Consistent hash selects from the pool and assigns.
engine.Route(ductor.Route{
Match: `routable.type == "lead"`,
Strategy: "consistent_hash",
Pool: "sales-team",
})
 
// Durable, observable, exactly-once.
decision, err := engine.Dispatch(ctx, routable)

How it works

Hashes the routable key onto a ring so identical keys map to the same recipient across runs, with minimal reshuffling when the pool changes. The basis for affinity and cache locality.

WeightedStateful