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 | Yes | Yes | Yes | Yes | Yes |
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 | Yes | Yes | Yes | Yes |
Schema Registry | Yes | No | Yes | Yes | Yes |
Topic Metadata API | Yes | Yes | Yes | Yes | Yes |
Other Languages¶
There are many programming languages that provide Kafka client libraries. The following “Hello, World!” examples are written in various languages to demonstrate how to produce to and consume from an Apache Kafka® cluster, which can be in Confluent Cloud, on your local host, or any other Kafka cluster. For the subset of languages that support it, the code examples also demonstrate how to use Avro and Confluent Schema Registry.
- Getting Started with Apache Kafka and C/C++
- Clojure
- Getting Started with Apache Kafka and .NET
- Getting Started with Apache Kafka and Go
- Groovy
- Getting Started with Apache Kafka and Java
- Getting Started with Apache Kafka and Spring Boot
- Kotlin
- Getting Started with Apache Kafka and Node.js
- Getting Started with Apache Kafka and Python
- Ruby
- Rust
- Scala
There are additional examples for Kafka and Confluent Platform command line tools and components: