Project Metamorphosis: Unveiling the next-gen event streaming platformLearn More

12 Programming Languages Walk into a Kafka Cluster…

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, plus others, 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
kafka-connect-datagen ksql-datagen Rust
Apache Kafka Clojure

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 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.

Did you like this blog post? Share it now

Subscribe to the Confluent blog

More Articles Like This

Journey to Event Driven – Part 2: Programming Models for the Event-Driven Architecture

Part 1 of this series discussed why you need to embrace event-first thinking, while this article builds a rationale for different styles of event-driven architectures and compares and contrasts scaling, […]

12 Days of Tech Tips

For the first 12 days of December, Confluent shared a daily tech tip related to managing Apache Kafka® in the cloud. These tips make it easier for you to get […]

Introduction to Apache Kafka® for Python Programmers

In this blog post, we’re going to get back to basics and walk through how to get started using Apache Kafka with your Python applications. We will assume some basic […]

Sign Up Now

Start your 3-month trial. Get up to $200 off on each of your first 3 Confluent Cloud monthly bills

New signups only.

By clicking “sign up” above you understand we will process your personal information in accordance with our Privacy Policy.

By clicking "sign up" above you agree to the Terms of Service and to receive occasional marketing emails from Confluent. You also understand that we will process your personal information in accordance with our Privacy Policy.

Free Forever on a Single Kafka Broker

The software will allow unlimited-time usage of commercial features on a single Kafka broker. Upon adding a second broker, a 30-day timer will automatically start on commercial features, which cannot be reset by moving back to one broker.

Select Deployment Type
Manual Deployment
  • tar
  • zip
  • deb
  • rpm
  • docker
Auto Deployment
  • kubernetes
  • ansible

By clicking "download free" above you understand we will process your personal information in accordance with our Privacy Policy.

By clicking "download free" above, you agree to the Confluent License Agreement and to receive occasional marketing emails from Confluent. You also agree that your personal data will be processed in accordance with our Privacy Policy.

This website uses cookies to enhance user experience and to analyze performance and traffic on our website. We also share information about your use of our site with our social media, advertising, and analytics partners.