Skip to content

mtabebe/librdkafka

This branch is 3050 commits behind confluentinc/librdkafka:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c577bcf · Jul 14, 2016
May 15, 2016
Apr 15, 2016
Apr 7, 2016
Mar 29, 2016
May 23, 2016
Jun 20, 2016
Jun 20, 2016
Jun 2, 2016
Sep 19, 2012
Apr 1, 2016
Feb 3, 2016
Jun 2, 2016
Apr 5, 2016
May 10, 2016
Mar 24, 2015
Sep 19, 2012
Sep 19, 2012
Mar 24, 2015
Nov 5, 2015
Mar 23, 2015
Mar 23, 2015
Jun 2, 2016
Jan 13, 2016
Jun 27, 2016
Jul 14, 2016
Mar 9, 2016
Jun 18, 2016
Jan 19, 2016
May 18, 2016
Dec 8, 2015

librdkafka - Apache Kafka C/C++ client library

Copyright (c) 2012-2016, Magnus Edenhill.

https://github.com/edenhill/librdkafka

librdkafka is a C library implementation of the Apache Kafka protocol, containing both Producer and Consumer support. It was designed with message delivery reliability and high performance in mind, current figures exceed 800000 msgs/second for the producer and 3 million msgs/second for the consumer.

librdkafka is licensed under the 2-clause BSD license.

For an introduction to the performance and usage of librdkafka, see INTRODUCTION.md

See the wiki for a FAQ.

NOTE: The master branch is actively developed, use latest release for production use.

Gitter chat

Apache Kafka 0.8 & 0.9 & 0.10 support:

  • Branch: master
  • Producer: supported
  • High-level balanced KafkaConsumer: supported (requires broker >= 0.9)
  • Simple Consumer: supported
  • Compression: snappy and gzip
  • Broker version support: >=0.8
  • Debian package: librdkafka1 and librdkafka-dev in Debian and Ubuntu
  • ZooKeeper: not supported
  • C API: Stable, ABI safe
  • C++ API: Stable
  • Tests: Regression tests in tests/ directory.
  • Statistics: JSON formatted, see rd_kafka_conf_set_stats_cb in rdkafka.h.
  • Status: Testing

Apache Kafka 0.7 support:

  • Branch: 0.7
  • Producer: supported
  • High-level Consumer: not supported
  • Simple Consumer: supported
  • Compression: not supported
  • Broker version support: 0.7.x
  • ZooKeeper: not supported
  • Status: Stable, Deprecated, Unsupported

#Language bindings#

#Users of librdkafka#

Usage

Requirements

The GNU toolchain
GNU make
pthreads
zlib (optional, for gzip compression support)
libssl-dev (optional, for SSL support)
libsasl2-dev (optional, for SASL support)

Instructions

Building

  ./configure
  make
  sudo make install

NOTE: See README.win32 for instructions how to build on Windows with Microsoft Visual Studio.

Usage in code

See examples/rdkafka_example.c for an example producer and consumer.

Link your program with -lrdkafka -lz -lpthread -lrt.

Documentation

The public APIs are documented in their respective header files:

To generate Doxygen documents for the API, type:

make docs

Configuration properties are documented in CONFIGURATION.md

For a librdkafka introduction, see INTRODUCTION.md

Examples

See the examples/sub-directory.

Tests

See the tests/sub-directory.

Support

File bug reports, feature requests and questions using GitHub Issues

Questions and discussions are also welcome on irc.freenode.org, #apache-kafka, nickname Snaps.

Commercial support

Commercial support is available from Edenhill services

Packages

No packages published

Languages

  • C 83.6%
  • C++ 9.2%
  • Shell 4.4%
  • Python 2.0%
  • Makefile 0.4%
  • Objective-C 0.4%