Child pages
  • Clients
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

Starting with the 0.8 release we are maintaining all but the jvm client external to the main code base. The reason for this is that it allows a small group of implementers who know that language to quickly iterate on that client. Having these maintained centrally was becoming a bottleneck as the main committers can't hope to know every programming language that has a client. This lead to a scenario where the committers were attempting to review and test code they didn't understand. We are instead moving to the redis/memcached model which seems to work better at supporting a rich ecosystem of high quality clients.

For 0.8.x

0.8 changes the protocol fairly substantially. This version hasn't been released yet. The new protocol is documented here. A number of clients are in progress, and we will update when they are complete.

0.1-0.7.x

Java

Maintained with the main code base.

C

Native C library with Consumer, Producer and compression support.

https://github.com/edenhill/librdkafka

Maintainer: Magnus Edenhill
License: 2-clause BSD

C++

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

Erlang

erlkafka is a kafka client written in erlang

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

Maintainer: Milind Parikh
*License: BSD, LGPL

Also:
https://github.com/wooga/kafka-erlang

PHP

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

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

Maintainer: Lorenzo Alberton
License: Apache v.2.0

Also:

https://github.com/michal-harish/kafka-php

Python

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

Maintainer: David Arthur
License: Apache v.2.0

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

Also:
https://github.com/dsully/pykafka
Maintainer:: Dan Sulley
License: Apache 2.0

Ruby

https://github.com/acrosa/kafka-rb
Maintainer: Alejandro Crosa
License:: Apache 2.0

Event machine client:
https://github.com/groupme/em-kafka

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

Clojure

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

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

Go

https://github.com/nuance/kafka

https://github.com/jdamick/kafka.go

Node.js

Low-level protocol support in node.js.

https://github.com/cainus/Prozess
https://npmjs.org/package/prozess
Maintainer: Gregg Caines
License: MIT

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

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

Client Libraries Previously Supported

https://svn.apache.org/repos/asf/incubator/kafka/branches/legacy_client_libraries

  • No labels