Kafka Clients¶
This section describes the clients included with Confluent Platform.
Confluent Platform includes client libraries for multiple languages that provide both low-level access to Apache Kafka® and higher level stream processing.
Examples | API reference | GitHub |
---|---|---|
C/C++ Client | C/C++ | librdkafka |
Go Client | Go | confluent-kafka-go |
Java Client | Java | apache-kafka-java |
.NET Client | .NET | confluent-kafka-dotnet |
Python Client | Python | confluent-kafka-python |
Feature Support¶
The following tables describes the client support for various Confluent Platform features.
Feature | C/C++ | Go | Java | .NET | Python |
---|---|---|---|---|---|
Admin API | Yes | Yes | Yes | Yes | Yes |
Control Center metrics integration | Yes | Yes | Yes | Yes | Yes |
Custom partitioner | Yes | No | Yes | No | No |
Exactly Once Semantics | No | No | Yes | No | No |
Idempotent Producer | Yes | Yes | Yes | Yes | Yes |
Kafka Streams | No | No | Yes | No | No |
Record Headers | Yes | Yes | Yes | Yes | Yes |
SASL Kerberos/GSSAPI | Yes | Yes | Yes | Yes | Yes |
SASL PLAIN | Yes | Yes | Yes | Yes | Yes |
SASL SCRAM | Yes | Yes | Yes | Yes | Yes |
SASL OAUTHBEARER | Yes | Yes | Yes | No | No |
Simplified installation | Yes | No | Yes | Yes | Yes |
Schema Registry | Yes | No | Yes | Yes | Yes |
Topic Metadata API | Yes | Yes | Yes | Yes | Yes |
Other Languages¶
There are many other programming languages that provide Kafka client libraries as well. To see examples of producers and consumers written in various languages, including Ruby, Node.js, and Scala, see the Confluent examples repo.