Available on crate feature
transport only.Expand description
Per-key routing transport for data originators.
Routes send(key, payload) to different transport backends based on the
key. Used by dfe-receiver and dfe-fetcher where data-based routing
determines the destination (topic, endpoint, stream).
All other DFE stages (transforms, loader, archiver) use simple 1:1 transports and do NOT need this.
§Config
transport:
output:
type: routed
default: kafka
routes:
events.land:
type: grpc
grpc:
endpoint: "http://loader-land:6000"
events.load:
type: kafka
audit.land:
type: grpc
grpc:
endpoint: "http://archiver:6000"
kafka:
brokers: ["kafka:9092"]§Usage
ⓘ
let sender = RoutedSender::from_config("transport.output").await?;
// Routes to different backends based on key
sender.send("events.land", payload).await; // → gRPC to loader-land
sender.send("events.load", payload).await; // → Kafka topic
sender.send("audit.land", payload).await; // → gRPC to archiver
sender.send("unknown", payload).await; // → default (Kafka)Structs§
- Routed
Sender - A routing transport that dispatches
send()to different backends based on the key parameter.