Git Product home page Git Product logo

librdkafka's Introduction

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

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, gzip, lz4
  • 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)
liblz4-dev (optional, for LZ4 compression 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

librdkafka's People

Contributors

edenhill avatar ah- avatar eugpermar avatar rthalley avatar paravoid avatar kodekarl avatar thedrow avatar whissi avatar bartw72 avatar devil0000 avatar ewencp avatar hnousiainen avatar nzkoz avatar pkroma avatar shinya1020 avatar vincentbernat avatar coolfrood avatar alfred-landrum avatar ottomata avatar arnaud-lb avatar nomrthalley avatar blblack avatar bwelling avatar gpatmore avatar janmejay avatar dalegaard avatar ept avatar mutability avatar rustycodemonkey avatar rgerhards avatar

Watchers

Json Lee avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.