datum-mq
datum-mq is the Kafka satellite crate for Datum. It provides KafkaSource
and KafkaSink with at-least-once source offset commits and producer delivery
confirmation. The default backend is rdkafka/librdkafka; an opt-in
consume-only native backend is available behind the same source APIs via
KafkaConsumerSettings::with_consumer_backend.
The crate itself uses #![forbid(unsafe_code)], but the default rdkafka
backend is an FFI wrapper around librdkafka. KafkaSink remains on rdkafka;
native produce, TLS/SASL, compressed native consume, and transactions are
deferred.
Transactions and Kafka EOS are deferred. The first stable guarantee is at-least-once: commit consumed offsets only after downstream work has completed, and acknowledge produced records only after Kafka delivery confirmation.