A high-performance C/C++ client library for Apache Kafka, supporting producers, consumers, and admin operations.
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.
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.
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.
The Apache Kafka C/C++ library
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.
Provides complete Exactly-Once-Semantics for transactional message delivery, ensuring data integrity in critical applications as highlighted in the features.
Runs on a wide range of platforms including Linux, macOS, Windows, Solaris, and FreeBSD, as listed, enabling deployment in diverse environments.
Guaranteed stability for C and C++ APIs with ABI safety for C, offering reliability for long-term projects without breaking changes.
Supports SSL and multiple SASL mechanisms like Kerberos, OAuth, and SCRAM, enabling secure communication in enterprise setups as documented in the wiki.
Building from source requires managing dependencies like zlib, OpenSSL, and SASL libraries, and Windows builds need separate instructions from README.win32, adding setup overhead.
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.
Full feature support, such as SSL or OAuth, depends on optional system libraries, complicating deployment in stripped-down or containerized environments without those dependencies.
Simple, secure & standards compliant web server for the most demanding of applications
:zap: KCP - A Fast and Reliable ARQ Protocol
A C++ header-only HTTP/HTTPS server and client library
Embedded web server, with TCP/IP network stack, MQTT and Websocket
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.