BlogsConfluentKafka Client-Broker Compatibility

Kafka Client-Broker Compatibility

Kafka Client-Broker Compatibility

4
posts
2015–2019

This post details the results of a survey on Apache Kafka client usage, highlighting language adoption trends and user priorities for client selection. Key findings include the dominance of Java, Scala, and Python, with a surprising interest in Clojure. Reliability and performance were identified as critical factors for client choice, followed by usable APIs and documentation. Security and compatibility were also important, though ranked slightly lower. The survey provides valuable insights for client development and selection.

2019

12 Programming Languages Walk into a Kafka Cluster… | Confluent

4/23/2019

This post compiles 12 tech tips, each showcasing a different programming language (C/C++, Go, Java, .NET, Python, Scala, Erlang, Groovy, Haskell, Kotlin, Lua, Node.js, OCaml, PHP, Ruby, Rust, Tcl, Swift, Clojure) with examples of Kafka producer and consumer implementations. It highlights the role of librdkafka as a common C client library and provides links to GitHub examples for each language, demonstrating how to connect to Confluent Cloud.

2017

Upgrading Apache Kafka Clients Just Got Easier

7/18/2017

Introduces bidirectional client compatibility for Apache Kafka, enabling clients to communicate with older brokers and brokers to communicate with newer clients. Details the implementation using API versioning and the ApiVersionsRequest mechanism. Explains how to enable this feature for Java clients and other Confluent clients (librdkafka, confluent-kafka-python, etc.) by setting `api.version.request=true`. Mentions the `kafka-broker-api-versions.sh` command-line tool for inspecting broker API versions.

The First Annual State of Apache Kafka® Client Use Survey | Confluent

2/14/2017

This post presents the findings of the first annual State of Apache Kafka® Client Use Survey. It details language adoption trends (Java, Scala, Python, Clojure, Go, NodeJS, C#, Pony, Cobol) and user priorities for Kafka clients, emphasizing reliability and performance as critical factors. It also offers advice for Kafka client developers based on survey feedback, focusing on stability, consistent APIs, simplicity, and documentation.

2015

Compatibility Testing For Apache Kafka | Confluent

5/1/2015

This post announces a project to develop high-quality tests to certify API and protocol compatibility between Kafka versions and distributions, addressing the challenge of ensuring compatibility in distributed systems and building a healthy ecosystem.