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.

There are additional examples for Kafka and Confluent Platform command line tools and components:

../_images/clients-all.png