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 1 million 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.
The GNU toolchain GNU make pthreads zlib (optional, for gzip compression support) libssl-dev (optional, for SSL and SASL SCRAM support) libsasl2-dev (optional, for SASL GSSAPI support)
./configure make sudo make install
NOTE: See README.win32 for instructions how to build on Windows with Microsoft Visual Studio.
NOTE: See CMake instructions for experimental CMake build (unsupported).
See examples/rdkafka_example.c for an example producer and consumer.
Link your program with -lrdkafka -lz -lpthread -lrt
.
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
See the examples/
sub-directory.
See the tests/
sub-directory.
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 is available from Edenhill services