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 other programming languages that provide Kafka client libraries as well. Refer to clients-all-examples for client examples written in the following programming languages and tools. These “Hello, World!” examples produce to and consume from any Kafka cluster, and for the subset of languages that support it, there are additional examples using Confluent Cloud Schema Registry and Avro.

  • C
  • Clojure
  • Confluent CLI
  • C-sharp
  • Go
  • Groovy
  • Java
  • Java Spring Boot
  • Kafka commands
  • Kafka connect datagen
  • kafkacat
  • Kotlin
  • KSQL datagen
  • Node.js
  • Python
  • Ruby
  • Rust
  • Scala
../_images/clients-all.png