Confluent
12 Programming Languages Walk into a Kafka Cluster…
Cloud

12 Programming Languages Walk into a Kafka Cluster…

Yeva Byzek

When it was first created, Apache Kafka® had a client API for just Scala and Java. Since then, the Kafka client API has been developed for many other programming languages which enables you to pick the language you want. This freedom of choice ultimately allows you to build an event streaming platform with the language best suited to your business needs.

At Confluent, we have an engineering team dedicated to the development of these Kafka clients. They are constantly adding new features, running functionality, scalability and soak tests, and testing interoperability against different Kafka versions. They make these clients more robust so that you can confidently deploy them in production. Over time Confluent Platform has started providing Kafka clients for the most popular languages, including:

  • C/C++
  • Go
  • Java
  • .NET
  • Python
  • Scala

The open source community also offers Kafka client functionality in an extensive ecosystem of additional programming languages, including:

  • Erlang
  • Groovy
  • Haskell
  • Kotlin
  • Lua
  • Node.js
  • OCaml
  • PHP
  • Ruby
  • Rust
  • Tcl
  • Swift
  • …and others…

Many of these extensions are built on the C client library for the Kafka protocol called librdkafka, which is itself maintained and supported by Confluent and recently reached v1.0.0. As a result, you can write Kafka client applications in pretty much any language of your choosing. You can run them with an on-prem cluster, or you can use the fully managed services in Confluent Cloud.

Over the past few weeks, we tweeted 12 tech tips, each of which showcased a different language along with a simple example of how to write a producer and consumer to Confluent Cloud. Those examples are available to run in GitHub at confluentinc/examples, and we have compiled a list of them below for reference:

Java™ Logo Python™ Logo Go Logo
Scala Confluent CLI Ruby
Groovy Kotlin Node.js
kafkacat C#/.NET C

We hope this helps you get started with Kafka. If you have any questions or feedback, please don’t hesitate to reach out to us on Slack—there’s a #clients channel, too!

Interested in more?

To learn more, check out Confluent Cloud—a fully managed event streaming service based on Apache Kafka, and listen to the Streaming Audio podcast with Magnus Edenhill on librdkafka 1.0.


Yeva Byzek

Yeva Byzek is an integration architect at Confluent designing solutions and building demos for developers and operators of Apache Kafka. She has many years of experience validating and optimizing end-to-end solutions for distributed software systems and networks.

Subscribe to the Confluent Blog

Subscribe

More Articles Like This

Start streaming now for less than $50 per month
Neha Narkhede

Introducing a Cloud-Native Experience for Apache Kafka in Confluent Cloud

Neha Narkhede .

In the last year, we’ve experienced enormous growth on Confluent Cloud, our fully managed Apache Kafka® service. Confluent Cloud now handles several GB/s of traffic—a 200-fold increase in just six ...

BAADER: Confluent Cloud
Priya Shivakumar

Creating an IoT-Based, Data-Driven Food Value Chain with Confluent Cloud

Priya Shivakumar .

Industries are oftentimes more complex than we think. For example, the dinner you order at a restaurant or the ingredients you buy (or have delivered) to cook dinner at home ...

Devices ➝ Gateways ➝ MQTT Proxy ➝ Confluent Cloud ➝ KSQL | Connectors
Priya Shivakumar

Reshaping Entire Industries with IoT and Confluent Cloud

Priya Shivakumar .

While the current hype around the Internet of Things (IoT) focuses on smart “things”—smart homes, smart cars, smart watches—the first known IoT device was a simple Coca-Cola vending machine at ...

Leave a Reply

Your email address will not be published. Required fields are marked *

Try Confluent Platform

Download Now

We use cookies to understand how you use our site and to improve your experience. Click here to learn more or change your cookie settings. By continuing to browse, you agree to our use of cookies.