// the find
fede1024/rust-rdkafka
A fully asynchronous, futures-based Kafka client library for Rust based on librdkafka
Rust bindings to librdkafka, giving you a battle-tested C Kafka client wrapped in async-friendly Rust abstractions. Targets people who need serious Kafka throughput in Rust and don't want to bet on a pure-Rust implementation that's still catching up on protocol features.
librdkafka underneath means you get the full Kafka feature set — EOS, transactions, all broker versions back to 0.8, SASL/SSL — without waiting for a pure-Rust implementation to grow up. The tiered API (BaseConsumer/BaseProducer for control freaks, StreamConsumer/FutureProducer for Tokio integration) is well thought out. The AsyncRuntime trait lets you swap Tokio for smol or async-std, which most async libraries don't bother with. Benchmark numbers are real and reproducible via the companion kafka-benchmark repo.
It's a C FFI wrapper, so build complexity is genuine — you're pulling in cmake, libssl-dev, libsasl2-dev, zlib depending on features, which kills cross-compilation and musl builds. The README still has a Travis CI badge despite the repo using GitHub Actions, which signals maintenance attention isn't what it could be. MSRV bumps aren't treated as breaking changes, which is a headache if you're pinning Rust in a larger workspace. The 'APIs are likely to change' warning has been sitting in the README for years — unclear if that's honest or just forgotten.