confluentinc/librdkafka — 1.0k★ on GitHub (C). The Apache Kafka C/C++ library
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
librdkafka - the Apache Kafka® C/C++ client library
Copyright (c) 2012-2022, Magnus Edenhill.
2023 Confluent Inc..
https://github.com/confluentinc/librdkafka
librdkafka is a C library implementation of the
Apache Kafka protocol, providing Producer, Consumer
and Admin clients. 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.
KAFKA is a registered trademark of The Apache Software Foundation and
has been licensed for use by librdkafka. librdkafka has no
affiliation with and is not endorsed by The Apache Software Foundation.
Features
Full Exactly-Once-Semantics (EOS) support
High-level producer, including Idempotent and Transactional producers
Step-by-step tutorial Getting Started with Apache Kafka and C/C++.
NOTE: The master branch is actively developed, use latest release for production use.
Installation
Installing prebuilt packages
On Mac OSX, install librdkafka with homebrew:
$ brew install librdkafka
On Debian and Ubuntu, install librdkafka from the Confluent APT repositories,
see instructions here and then install librdkafka:
$ apt install librdkafka-dev
On RedHat, CentOS, Fedora, install librdkafka from the Confluent YUM repositories,
instructions here and then install librdkafka:
$ yum install librdkafka-devel
On Windows, reference librdkafka.redist NuGet package in your Visual Studio project.
For other platforms, follow the source building instructions below.
Installing librdkafka using vcpkg
You can download and install librdkafka using the vcpkg dependency manager:
# Install vcpkg if not already installed
$ git clone https://github.com/Microsoft/vcpkg.git
$ cd vcpkg
$ ./bootstrap-vcpkg.sh
$ ./vcpkg integrate install
# Install librdkafka
$ vcpkg install librdkafka
The librdkafka package in vcpkg is kept up to date by Microsoft team members and community contributors.
If the version is out of date, please create an issue or pull request on the vcpkg repository.
Build from source
Requirements
The GNU toolchain
GNU make
pthreads
zlib-dev (optional, for gzip compression support)
libssl-dev (optional, for SSL and SASL SCRAM support)
libsasl2-dev (optional, for SASL GSSAPI support)
libzstd-dev (optional, for ZStd compression support)
libcurl-dev (optional, for SASL OAUTHBEARER OIDC support)
NOTE: Static linking of ZStd (requires zstd >= 1.2.1) in the producer
enables encoding the original size in the compression frame header,
which will speed up the consumer.
Use STATIC_LIB_libzstd=/path/to/libzstd.a ./configure --enable-static
to enable static ZStd linking.
MacOSX example:
STATIC_LIB_libzstd=$(brew ls -v zstd | grep libzstd.a$) ./configure --enable-static
Building
./configure
# Or, to automatically install dependencies using the system's package manager:
# ./configure --install-deps
# Or, build dependencies from source:
# ./configure --install-deps --source-deps-only
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).
Usage in code
See getting Started with Apache Kafka and C/C++ for a basic tutorial.
Does confluentinc/librdkafka have a project website?
No homepage URL was recorded for confluentinc/librdkafka in TopGit's last sync. The README tab above frequently contains screenshots and demo links, or check the repository description on GitHub.
Is confluentinc/librdkafka open source?
TopGit's metadata for confluentinc/librdkafka does not record a license. Most public repositories on GitHub ARE open source, but the exact terms vary — verify by opening the LICENSE file directly.
What else is in the Backend space?
confluentinc/librdkafka is tracked by TopGit under the Backend category, alongside 9 GitHub-tagged topics. Trending and Topics pages list peer repositories of comparable stars and language.
What is confluentinc/librdkafka?
confluentinc/librdkafka (confluentinc/librdkafka) is a C project on GitHub. From the project's own README: The Apache Kafka C/C++ library
Where do I read more about confluentinc/librdkafka?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/confluentinc/librdkafka is the definitive source.
Why is confluentinc/librdkafka categorized under Backend?
TopGit places confluentinc/librdkafka in the Backend category based on its GitHub topics and description (tagged: "apache-kafka", "c", "c-plus-plus"). Categories are assigned from real repository metadata, not editorial guesswork.
Read full README in the tab above.
Is librdkafka worth your time?
ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of librdkafka.