Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Fix KAFKA-7123

...

If you are aware of other clients not listed here (or are the author of such a client), please add it here. Please also feel free to help fill out information on the features the client supports, level of activity of the project, level of documentation, etc.

C/C++

-------------

Robust high performance C/C++ library with full protocol support

...

Kafka Version: 0.7.x, 0.8.x, 0.9.x, 0.10.x, 0.11.x
Maintainers: Magnus Edenhill

-------------

Native C++ library with protocol support for Metadata, Produce, Fetch, and Offset.


Kafka Version: 0.8.x

Maintainer: David Tompkins
License: Apache 2.0

https://github.com/adobe-research/libkafka

 

-------------

C++ Header-only Kafka Client Library using Boost Asio

 

Kafka Version: 0.8.x

Maintainer: Daniel Joos
License: MIT

https://github.com/danieljoos/libkafka-asio

 

-------------

A C++11 asyncronous producer/consumer library for Apache Kafka based on boost asio


Kafka Version: 0.8.x

Maintainer: Svante Karlsson
License: Boost Software License - Version 1.0

https://github.com/bitbouncer/csi-kafka

 

-------------

libasynckafkaclient - C++ based single threaded asynchronous library


Kafka Version: 0.8.x

Maintainer: Vijay Jadhav
License: 2-clause BSD

https://github.com/GSLabDev/libasynckafkaclient

 

-------------

https://github.com/quipo/kafka-cpp

Kafka Version: 0.7.x

 

-------------

Python

-------------

High performance Python client based on Librdkafka with full protocol supportMaintainer: Confluent.io
License: Apache v.2.0

https://github.com/confluentinc/confluent-kafka-python

-------------

Confluent's Apache Kafka client for Python wraps the librdkafka C library, providing full Kafka protocol support with great performance and reliability.

https://github.com/confluentinc/confluent-kafka-python

Docs: http://docs.confluent.io/current/clients/index.html


Kafka Version: 0.8.x, 0.Kafka Version0.9.x, 0.10.x, 0.11.x

Maintainers: Confluent

License: Apache 2.0

 

-------------

Pure Python implementation with full protocol support. Consumer and Producer implementations included, GZIP, LZ4, and Snappy compression supported.

http://github.com/dpkp/kafka-python


Kafka Version: 0.8.x, 0.9.x, 0.10.x, 0.11.x, 1.0.x

Maintainer: Dana Powers
License: Apache Maintainer: Dana Powers
License: Apache v. 2.0

 

-------------

Python driver with full protocol support, Pythonic API, and managed balanced consumer implementation. GZIP and Snappy compression supported.
https://github.com/Parsely/pykafka
Kafka Version: 0.8.x,0.9.x,0.10.x
Maintainer: Parse.ly
License: Apache v22.0

 

-------------

Protocol support for Kafka 0.7 in Python. GZip and Snappy compression supported

Kafka Version: 0.7.x

Maintainer: David Arthur
License: Apache v.2.0

https://github.com/mumrah/kafka-python/tree/0.7

-------------

Also:
https://github.com/dsully/pykafka

 

Kafka Version: 0.7.x

Maintainer:: Dan Sulley, LinkedIn
License: Apache 2.0

-------------

Python client from Disqus:
https://github.com/getsamsa/samsa

 

Kafka Version: 0.7.x

Maintainer:: Keith Bourgoin, Parse.ly
License: Apache 2.0

-------------

Python client from Urban Airship: https://github.com/urbanairship/pykafkap

 

Kafka Version: 0.7.x

-------------

Python client from Datadog: https://github.com/datadog/brod
(Producer, Simple Consumer, ZK-Consumer)

 

Kafka Version: 0.7.x

-------------

...

Kafka Version: 0.7.x

-------------

Erlang

confluent-------------

Kafka client library in Erlang. Full support for 0.9+ consumer protocol, very efficient producer implementation.

https://github.com/klarna/brod

 

kafka-go: Confluent's Kafka client for Golang wraps the librdkafka C library, providing full Kafka protocol support with great performance and reliability.

The Golang bindings provides a high-level Producer and Consumer with support for the balanced consumer groups of Apache Kafka 0.9 and above.

Kafka Version: 0.8.x, Kafka Version: 0.9.x,  0.10.x, 0.1011.x

MaintainersMaintainer: Ivan Dyachkov (Klarna AB)Shi Zaiming (Klarna AB)Confluent

License: Apache 2v2.0

 

-------------

A minimal, high-performance Kafka client in Erlang

https://github.com/

...

Kafka Version0.8.x

Maintainer: Helpshift
License: Apache v2

 

confluentinc/confluent-kafka-go

Docs: http://docs.confluent.io/current/clients/index.html

-------------

Erlang

-------------

erlkafka is a kafka client written in erlang

https://github.com/milindparikh/erlkafka.git

Kafka Version0.7.x

Maintainer: Milind Parikh
*License: BSD, LGPL

...

Kafka client library in Erlang. Full support for 0.9+ consumer protocol, very efficient producer implementation.

https://github.com/

...

klarna/

...

brod

 

.NET

...

Kafka Version: 0.9.x, 0.10.x

Maintainers: Ivan Dyachkov (Klarna AB)Shi Zaiming (Klarna AB)

License: Apache 2.0

 

-------------

A minimal, high-performance Kafka client in Erlang

https://github.com/helpshift/ekaf


Kafka Version0

Pure C# client with full protocol support.  Includes consumer, producer,

lower level components and gzip support (no snappy)

Kafka Version: 0.8.x

Maintainer: James Roland  Helpshift
License: Apache 2.0https://github.com/Jroland/kafka-net Apache v2

 

-------------

This erlkafka is a .NET implementation of a client for Kafka using C# for Kafka 0.8. It provides for an implementation that covers most basic functionalities to include a simple Producer and Consumer.kafka client written in erlang

https://github.com/milindparikh/erlkafka.git


Kafka Version: 0 0.87.x

Maintainer: ExactTarget Milind Parikh
*License: Apache 2.0: BSD, LGPL

Also:
https://github.com/ExactTargetDevwooga/kafka-neterlang

 

.NET

-------------

rdkafka-dotnet is a C# client for Apache Kafka based on librdkafkaA fully featured .NET client for Apache Kafka based on librdkafka (a fork of rdkafka-dotnet).

Kafka Version: 0.8.x, 0.9.x, 0.10.x, 0.11.x

MaintainerAndreas HeiderConfluent Inc. (original author Andreas Heider)

License: BSD (2 clause)Apache 2.0

https://github.com/ah-/rdkafkaconfluentinc/confluent-kafka-dotnet

 

-------------

.Net implementation of the Apache Kafka Protocol that provides basic functionality through Producer/Consumer classes. The project also offers balanced consumer implementation. The project is a fork from ExactTarget's Kafka-net Client.

 

Kafka Version: 0.8.x, 0.9.x

Pure C# client with full protocol support.  Includes consumer, producer,

lower level components and gzip support (no snappy)


Kafka Version: 0.8.x

Maintainer: James Roland MaintainerMicrosoft

License: Apache 2.0

https://github.com/MicrosoftJroland/Kafkanetkafka-net

 

-------------

C# client, asynchronous, all 3 compressions supported (read and write), tracks leader partition changes transparently, long time in production.

 

This is a .NET implementation of a client for Kafka using C# for Kafka 0.8. It provides for an implementation that covers most basic functionalities to include a simple Producer and Consumer.

Kafka Version: 0.8.x

Maintainer:  Vadim ChekanExactTarget

License: Apache - 2.0

https://github.com/ntent-ad/kafka4net ExactTargetDev/kafka-net


-------------

kafka-sharp - "High Performance" .NET Kafka Driver

 

.Net implementation of the Apache Kafka Protocol that provides basic functionality through Producer/Consumer classes. The project also offers balanced consumer implementation. The project is a fork from ExactTarget's Kafka-net Client.

 

Kafka Kafka Version: 0.8.x, 0.9.x

MaintainerCriteoMicrosoft

License: Apache 2.0

https://github.com/criteoMicrosoft/kafka-sharpKafkanet

 

-------------

 

Clojure

-------------

Fast kafka api for JVM languages implemented in clojureC# client, asynchronous, all 3 compressions supported (read and write), tracks leader partition changes transparently, long time in production.

 

Kafka Version: 0.8.x

Maintainerhttps://github.com/gerritjvvVadim Chekan
License: Apache-2.0
https://github.com/gerritjvv/kafka-fastntent-ad/kafka4net

 

-------------

Wrapper to the Java API for interacting with Kafkakafka-sharp - "High Performance" .NET Kafka Driver

 

Kafka Version: 0.8.x

Maintainerhttps://github.com/pinglesCriteo

License: Apache License: Apache 2.0

https://github.com/pinglescriteo/cljkafka-kafka/ sharp

 

-------------

Kafka clojure client library

 

kafunk - Fully-featured, native F# client which works on .NET Core

Kafka Version:  00.8.x, 0.9.x, 0.10.x

Maintainer:  Pierre-Yves Ritschard Jet.com

License: MIT
Apache 2.0

https://github.com/jet/kafunk

 CodeDocumentation

-------------

 

Ruby

Clojure

-------------

Fast kafka api for JVM languages implemented in clojure.


 

Kafka Version: 0.8.x

Maintainerhttps://github.com/gerritjvv

License: Apache 2.0

https://github.com/gerritjvv/kafka-fast


-------------

Wrapper to the Java API for interacting with Kafka


 

Kafka Version: 0.8.x

Maintainerhttps://github.com/pingles

License: Apache 2.0

https://github.com/pingles/clj-kafka/ 

 

-------------

Kafka clojure client library


 

Kafka Version: 0.8.x

MaintainerPierre-Yves Ritschard

License: MIT

CodeDocumentation

-------------

 

Ruby

-------------

ruby-kafka - A pure Ruby client library for the Kafka distributed log system.


Kafka Version: 0.9.x, 0.10.x, 0.11.x

MaintainerZendeskDaniel Schierbeck

Licence: Apache 2.0

https://github.com/zendesk/ruby-kafka

 

-------------

Karafka - Framework used to simplify Apache Kafka based Ruby and Rails applications development. Karafka provides higher abstraction layers, including Capistrano, Docker and Heroku support. Based on ruby-kafka.

 

Kafka Version: 0.9.x, 0.10.x, 0.11.x

MaintainerMaciej Mensfeld
Licence
: MIT

https://github.com/karafka/karafka

-------------

Racecar – A simple framework for writing Kafka consumers in Ruby that integrates nicely with Rails. Based on ruby-kafka. 

 

Kafka Version: 0.9.x, 0.10.x, 0.11.x

MaintainerZendesk / Daniel Schierbeck

Licence: Apache 2.0

https://github.com/zendesk/racecar

-------------

DeliveryBoy – A simple way to publish messages to Kafka from Ruby applications. Based on ruby-kafka.

Kafka Version: 0.9.x, 0.10.x, 0.11.x

MaintainerZendesk / Daniel Schierbeck

Licence: Apache 2.0

https://github.com/zendesk/delivery_boy

-------------

JRuby wrapper for producers and consumers of the existing API

 Pure Ruby, Consumer and Producer implementations included, GZIP and Snappy compression supported. Ruby 1.9.3 and up (CI runs MRI 2.0, JRuby and Rubinius).

Kafka Version: 0.8.x

Maintainer: Bob Potter Joseph Lawson
License: MITApache 2.0

https://github.com/bpotjoekiller/poseidonjruby-kafka

 

-------------

Karafka - Microframework used to simplify Apache Kafka-based Ruby applications development.

 [Unmaintained] Pure Ruby, Consumer and Producer implementations included, GZIP and Snappy compression supported. Ruby 1.9.3 and up (CI runs MRI 2.0, JRuby and Rubinius).


Kafka Version: 0.8.x

Maintainer:  Maciej Mensfeld
Licence
Bob Potter
License: MIT

https://github.com/karafkabpot/karafkaposeidon

 

-------------

https://github.com/acrosa/kafka-rb

 ruby-kaka - A Ruby client library for the Kafka distributed log system

Kafka Version: 0.87.x

Maintainer: ZendeskDaniel SchierbeckLicence Alejandro Crosa
License:: Apache 2.0

-------------

Event machine client:
https://github.com/zendeskgroupme/rubyem-kafka

 

Kafka Version: 0.7.x

-------------

JRuby Event stream processor
https://github.com/acrosa/kafka-rb

 

Kafka Version: 0.7.x

Maintainer: Alejandro Crosa
License:: Apache 2.0

wooga/kafkaesque

 

Kafka Version: 0.7.x

-------------

 

 

Node.js

-------------

Event machine client:The node-rdkafka library is a high-performance NodeJS client for Apache Kafka that wraps the native librdkafka library. All the complexity of balancing writes across partitions and managing (possibly ever-changing) brokers should be encapsulated in the library.

https://github.com/groupmeBlizzard/emnode-kafka rdkafka

Kafka Version: 0.79, 0.x

-------------

JRuby Event stream processor
https://github.com/wooga/kafkaesque

 

Kafka Version: 0.7.x

-------------

 

Node.js

10

Node.js >= 4

Maintainer: Blizzard.com

License: MIT

 

 

-------------

Kafka-Node is a NodeJS client with Zookeeper integration

 

Kafka Version: 0.8.x

Maintainersohu.com

License: MIT

https://github.com/SOHU-Co/kafka-node/

 

-------------

Kafka-node is a pure JavaScript implementation for NodeJS Server with Vagrant and Docker support.


Kafka Version: 0.8.x

Maintainerwurstmeister
License: Apache 2.0

https://github.com/wurstmeister/node-kafka-0.8-plus

 

-------------

Node-kafka is a node.js wrapper for the C library librdkafka

 

Kafka Version: 0.8.x

Maintainer: Sutoiku

License: MIT

https://github.com/sutoiku/node-kafka

 

-------------

kafka-java-bridge is a Nodejs wrapper for the JAVA high level kafka 0.8. consumer API

 

Kafka Version: 0.8.x

Maintainer: LivePersonInc

License: MIT

https://www.npmjs.com/package/kafka-java-bridge

https://github.com/LivePersonInc/kafka-java-bridge

 

-------------

Low-level protocol support in node.js.

https://github.com/cainus/Prozess
https://npmjs.org/package/prozess

 

Kafka Version: 0.7.x

Maintainers: 
Gregg Caines
Eric lee
License: MIT

 

-------------

Alternate node client from Tagged
https://github.com/marcuswestin/node-kafka

Also:
https://github.com/dannycoates/franz-kafka

 

Kafka Version: 0.7.x

-------------

 

...

https://github.com/dspeterson/dory


Kafka Version: 0.8.x, 0.9.x, 0.10.x, 0.11.x

Maintainer:  Dave Peterson
License: Apache v.2.0

-------------

...

MaintainerConfluent 
License: Apache 2.0

...

Maintainers: Ivan Dyachkov (Klarna AB)Shi Zaiming (Klarna AB)
License: Apache 2.0

 

 

JRuby 

-------------

 

Full featured HTTP REST Proxy for Kafka in Elixir with fine grained JWT-based authentication

https://github.com/klarna/kastlexJRuby wrapper for producers and consumers of the existing API

 

Kafka Version: 0.8.x

Maintainers: Ivan Dyachkov (Klarna AB)Shi Zaiming (Klarna AB)Maintainer: Joseph Lawson
License: Apache  Apache 2.0

 

https://github.com/joekiller/jruby-kafka

 

 

 

Perl

-------------

 

Pure Perl, Consumer and Producer implementations included. Zookeeper
integration. GZIP and Snappy compression supported.

...

Maintainer: Magnus Edenhill
License: 2-clause BSD

 

 

 

PHP

 

------------- 

PHP extension built on librdkafka

 

Kafka Version: 0.8.x

Maintainer:  Elias Van Ootegem
License: MIT

 

https://github.com/EVODelavega/phpkafka

 

 

-------------

 

PHP client based on librdkafka

Kafka Version: 0.8.x

 

Maintainer: Arnaud Le Blanc, for Mention.com
License: MIT

 

https://github.com/arnaud-lb/php-rdkafka

 

 

-------------

PHP library with Consumer (simple and Zookeeper-based), Producer and compression support (release notes).

...

https://github.com/dastra/log4php-kafka

 

------------- 

 

 

Rust

------------- 

Pure Rust implementation with support for Metadata, Produce, Fetch, and Offset requests. Supports Gzip and Snappy compression 

 

Kafka Version: 0.8.x

Maintainer:  Yousuf Fauzan
License: MIT  MIT 

Code
Documentation

 

Alternative Java

...

https://github.com/miniway/kafka-clj

 

Kafka Version: 0.7.x

 

Swift

-------------

Pure Swift implementation of Producer + Simple and High-Level Consumer

 

Kafka Version: 0.9.x

MaintainerKellan Cummings, Luke Lau
License: MIT

 

Client Libraries Previously Supported

...