librdkafka wrapper or independent
librdkafka is Confluent's C client. Wrappers add it as a native dependency and expose different parts of it. Independent clients implement the protocol themselves; coverage and build requirements vary.
Pick your language. Each guide compares its Kafka clients side by side and recommends one for each use case, checked against specific releases.
For windows, joins, and aggregates with recoverable state, compare stream processing libraries instead.
Clients differ in how they are built, which Kafka features they support, and how actively they are maintained.
librdkafka is Confluent's C client. Wrappers add it as a native dependency and expose different parts of it. Independent clients implement the protocol themselves; coverage and build requirements vary.
Confluent publishes Avro, Protobuf, and JSON Schema serializers for Java, Python, Go, .NET, JavaScript, and C++ (libschemaregistry). Support in other clients varies.
Transactions, cooperative rebalancing, and the KIP-848 consumer group protocol, generally available since Kafka 4.0, are where clients differ most. Check them against the release you pick.
SASL PLAIN and SCRAM work almost everywhere. Support for Kerberos (GSSAPI), OAUTHBEARER, and AWS MSK IAM varies, and prebuilt librdkafka packages often leave out GSSAPI.
Look at recent releases and how many people merge changes. Several clients rely on one maintainer; KafkaJS has not shipped since February 2023, and modern-cpp-kafka was archived in July 2026.
The Java client hashes keys with Murmur2, librdkafka with CRC32, and Sarama with FNV-1a, so the same key can land on different partitions. To spot a mismatch, search for the key in Kafma's Console.
Clients built on librdkafka need its native library. Their defaults and features depend on the librdkafka version, the wrapper, and how it is packaged.
| Language | Built on librdkafka | Independent implementation |
|---|---|---|
| Java | — | Apache Kafka client (official) |
| Python | confluent-kafka | kafka-python, aiokafka |
| Go | confluent-kafka-go | franz-go, kafka-go, Sarama |
| JavaScript & Node.js | confluent-kafka-javascript, node-rdkafka | KafkaJS, Platformatic Kafka |
| C# & .NET | Confluent.Kafka | Dekaf |
| Rust | rdkafka | rskafka, krafka |
| C & C++ | librdkafka, cppkafka, modern-cpp-kafka | — |
| PHP | php-rdkafka | longlang/phpkafka |
Whichever client library you choose, Kafma helps you inspect and debug the messages it produces and consumes.
Available for macOS, Windows, Linux