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.
To see a comprehensive list of supported clients, refer to the “Clients” section under Supported Versions and Interoperability.
Confluent Official Clients¶
Confluent official clients are available for:
Note
The Kafka client version matches and maps to the version of Apache Kafka® that supports it. See also, https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients.
Java¶
The matrix shown below follows the same support timeline as mentioned in the Confluent Platform and Apache Kafka Compatibility matrix. The Kafka clients are available for download on the org.apache.kafka/kafka-clients site.
Apache Kafka® clients version | Release Date | Standard End of Support | Platinum End of Support |
---|---|---|---|
3.0.x | October 27, 2021 | October 27, 2023 | October 27, 2024 |
2.8.x | June 8, 2021 | June 8, 2023 | June 8, 2024 |
2.7.x | February 9, 2021 | February 9, 2023 | February 9, 2024 |
2.6.x | September 24, 2020 | September 24, 2022 | September 24, 2023 |
2.5.x | April 24, 2020 | April 24, 2022 | April 24, 2023 |
2.4.x | January 10, 2020 | January 10, 2022 | January 10, 2023 |
2.3.x | July 19, 2019 | July 19, 2021 | July 19, 2022 |
2.2.x | March 28, 2019 | March 28, 2021 | March 28, 2022 |
2.1.x | December 14, 2018 | December 14, 2020 | December 14, 2021 |
2.0.x | July 31, 2018 | July 31, 2020 | July 31, 2021 |
1.1.x | April 16, 2018 | April 16, 2020 | April 16, 2021 |
- The end of support date applies to the stated minor version, and all maintenance versions associated with that minor version. For example, support for Apache Kafka® 2.6.4 ends on September 24, 2022.
- The two year support policy is standard. End of support is extended one year for Platinum support agreements.
librdkafka and Derived Clients¶
librdkafka is an open source community project available at: https://github.com/edenhill/librdkafka.
Confluent maintains its own official, signed set of binaries for librdkafka, available to you here: https://packages.confluent.io/clients/.
Programming Language | Library Name | Documentation |
---|---|---|
C/C++ Client | librdkafka | Kafka C/C++ Client |
Go Client | confluent-kafka-go | Kafka Go Client |
.NET Client | confluent-kafka-dotnet | Kafka .NET Client |
Python Client | confluent-kafka-python | Kafka Python Client |
Apache Kafka® clients version | Release Date | Standard End of Support | Platinum End of Support |
---|---|---|---|
1.8.0 | September 22, 2021 | September 22, 2022 | September 22, 2023 |
1.7.0 | August 8, 2021 | August 8, 2022 | August 8, 2023 |
1.6.1 | April 27, 2021 | April 27, 2022 | April 27, 2023 |
1.6.0 | February 21, 2021 | February 21, 2022 | February 21, 2023 |
- The two year support policy is standard. End of support is extended one year for Platinum support agreements.
Feature Support¶
The following tables describes the client support for various Confluent Platform features as supported by the latest version of the specific libraries.
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: