Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. C/C++
  3. librdkafka

librdkafka

NOASSERTIONCv2.14.1

A high-performance C/C++ client library for Apache Kafka, supporting producers, consumers, and admin operations.

GitHubGitHub
971 stars3.2k forks0 contributors

What is librdkafka?

librdkafka is a robust C library implementation of the Apache Kafka protocol, providing high-performance Producer, Consumer, and Admin clients. It is designed for reliable message delivery in distributed streaming applications, capable of handling over 1 million messages per second for producers and 3 million for consumers. The library serves as the foundational client for many programming language bindings and is widely used in production systems requiring efficient Kafka communication.

Target Audience

System and application developers building high-throughput, reliable data streaming applications in C or C++, or those creating language bindings for Kafka in other programming languages. It is also suitable for DevOps and platform engineers integrating Kafka into performance-critical infrastructure.

Value Proposition

Developers choose librdkafka for its exceptional performance, proven reliability in production, and full support for Kafka features like Exactly-Once-Semantics (EOS) and security protocols. Its cross-platform portability and guaranteed API/ABI stability make it a dependable foundation for both direct C/C++ development and as the core for higher-level Kafka clients.

Overview

The Apache Kafka C/C++ library

Use Cases

Best For

  • Building high-performance Kafka producers and consumers in C or C++ applications.
  • Developing language bindings or SDKs for Apache Kafka in other programming languages (e.g., Python, Go, .NET).
  • Implementing transactional messaging with Exactly-Once-Semantics (EOS) in Kafka clients.
  • Creating cross-platform Kafka applications that need to run on Linux, Windows, macOS, and various Unix-like systems.
  • Integrating Kafka with systems requiring robust security features like SSL and multiple SASL mechanisms (Kerberos, OAuth, etc.).
  • Optimizing for maximum throughput and low latency in data streaming pipelines, such as log aggregation or real-time event processing.

Not Ideal For

  • Developers building simple Kafka integrations in high-level languages like Python or Java who prefer native clients without C dependencies
  • Projects requiring rapid prototyping or minimal setup where ease of use outweighs raw performance
  • Teams with limited C/C++ expertise or those prioritizing memory-safe languages for client development
  • Environments where containerized deployments benefit from lightweight, pure-language clients to reduce image size and complexity

Pros & Cons

Pros

Exceptional Performance

Benchmarks cited in the README show it can handle over 1 million messages per second for producers and 3 million for consumers, making it ideal for high-throughput systems.

Full EOS Support

Provides complete Exactly-Once-Semantics for transactional message delivery, ensuring data integrity in critical applications as highlighted in the features.

Cross-Platform Portability

Runs on a wide range of platforms including Linux, macOS, Windows, Solaris, and FreeBSD, as listed, enabling deployment in diverse environments.

API and ABI Stability

Guaranteed stability for C and C++ APIs with ABI safety for C, offering reliability for long-term projects without breaking changes.

Comprehensive Security Features

Supports SSL and multiple SASL mechanisms like Kerberos, OAuth, and SCRAM, enabling secure communication in enterprise setups as documented in the wiki.

Cons

Complex Build Process

Building from source requires managing dependencies like zlib, OpenSSL, and SASL libraries, and Windows builds need separate instructions from README.win32, adding setup overhead.

Low-Level C Interface

As a C library, it lacks high-level abstractions, forcing developers to handle memory management and error checking manually, which can be error-prone compared to modern language clients.

Dependency on External Libraries

Full feature support, such as SSL or OAuth, depends on optional system libraries, complicating deployment in stripped-down or containerized environments without those dependencies.

Frequently Asked Questions

Quick Stats

Stars971
Forks3,241
Contributors0
Open Issues315
Last commit3 days ago
CreatedSince 2012

Tags

#stream-processing#c-library#high-performance#message-queue#librdkafka#distributed-systems#c#kafka#c-plus-plus#confluent#client-library#consumer#cross-platform#kafka-producer#apache-kafka

Built With

O
OpenSSL
p
pthreads
Z
ZSTD
z
zlib
l
libcurl
C
C++

Included in

C/C++70.6kData Engineering8.5k
Auto-fetched 21 hours ago

Related Projects

uWebSocketsuWebSockets

Simple, secure & standards compliant web server for the most demanding of applications

Stars18,824
Forks1,852
Last commit11 days ago
KCPKCP

:zap: KCP - A Fast and Reliable ARQ Protocol

Stars16,731
Forks2,601
Last commit2 days ago
Cpp-HttpLibCpp-HttpLib

A C++ header-only HTTP/HTTPS server and client library

Stars16,432
Forks2,671
Last commit2 days ago
MongooseMongoose

Embedded web server, with TCP/IP network stack, MQTT and Websocket

Stars12,765
Forks2,910
Last commit1 day ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub