librdkafka 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
librdkafka 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
librdkafka 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
librdkafka 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
librdkafka 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 BSD
开发语言 C/C++
操作系统 跨平台
软件类型 开源软件
开源组织
地区 不详
投 递 者 红薯
适用人群 未知
收录时间 2019-06-27

软件简介

librdkafka 是 Apache Kafka 的 C/C++ 开发包,提供生产者、消费者和管理客户端。设计理念是可靠以及高性能的消息传输,当前可支持每秒超过 100 万的消息生产和 300 万每秒的消息消费。

特性:

  • High-level producer
  • High-level balanced KafkaConsumer (requires broker >= 0.9)
  • Simple (legacy) consumer
  • Admin client
  • Compression: snappy, gzip, lz4, zstd
  • SSL support
  • SASL (GSSAPI/Kerberos/SSPI, PLAIN, SCRAM, OAUTHBEARER) support
  • Broker version support: >=0.8 (see Broker version compatibility)
  • Stable C & C++ APIs (ABI safety guaranteed for C)
  • Statistics metrics
  • Debian package: librdkafka1 and librdkafka-dev in Debian and Ubuntu
  • RPM package: librdkafka and librdkafka-devel
  • Gentoo package: dev-libs/librdkafka
  • Portable: runs on Linux, OSX, Win32, Solaris, FreeBSD, AIX, ...
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2018/01/17 07:38

Librdkafka的Transport层

Librdkafka要和kakfa集群通讯, 网络操作肯定是少不了的,这就需要封装transport数据传输层; Librdkafka毕竟是SDK, 作为访问kafka集群的客户端,不需要支持大并发, 在网络IO模型 上选用了 poll; IO模型确定后, 发送和接收数据必不可少的缓冲区buffer, 我们前面已经介绍过, 请参考Librdkafka的基础数据结构 3 -- Buffer相关 ; 以上介绍的librdkafka中的poll模型和buffer, 完全可以独立出来, 用在其他项目上, 作者封装得很好; Librd...

0
0
发表了博客
2020/11/06 16:25

librdkafka-master编译手册

场景 目前从github上下载源码,通过VS2017编译动态库,提示如下错误 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is packages\zlib.v141.windesktop.msvcstl.dyn.rt-dyn.1.2.8.8\build\nativ...

0
0
发表了博客
2018/01/09 03:52

Librdkafka的各种task处理

上一节我们介绍了Librdkafka中的任务处理队列的相关操作, 这一节我们介绍一下放入这个队列中的各种任务(也可以叫event, 也可以叫operator), 也就是各种不同类型的operator 具体的op如何处理, 我们会在后期分析具体的流程时再作深入讨论 struct rd_kafka_op_s 所在文件: src/rdkafka_op.h(c) 定义: struct rd_kafka_op_s { // 加上tailq的元素域 TAILQ_ENTRY(rd_kafka_op_s) rko_link; // op的类型 rd_...

0
0
发表了博客
2017/12/22 11:11

Librdkafka源码分析-Content Table

Kafka源码里提供了Java版本的SDK, 对于C/C++程序员,C/C++版本的SDK是十分有必要的; Librdkafka 能满足你对C/C++版本Kafka SDK的一切幻想, 向作者致敬~ 因为在实际工作中用Librdkafka作了二次封装, 本着知其然也知其所以然和向大神学习的态度, 开始扒代码~~~ Librdkafka的基础数据结构 1 --- 队列 Librdkafka的基础数据结构 2 --- 定时器 原子操作与引用计数 Librdkafka的基础数据结构 3 -- Buffer相关 1 Librdkafka的基础数据结...

0
0
发表了博客
2020/11/05 09:56

librdkafka访问集群

场景 必须要修改hosts主机域名,文件目录是C:\Windows\System32\drivers\etc,不能单独添加一台设备对应的域名信息,必须是完整的集群列表 例如 # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost 11.66.44.66.142 bigdata5 11.66.44.66.143 bigdata6 11.66.44.66.145 bigdata7 11.66.44.66.190 bigdata8 11.66.44.66.191 bigdata9 11.66.44.66.192 bigdata10...

0
0
发表了博客
2020/09/16 11:25

librdkafka库使用

1)底层支持重连服务器 %3|1600150057.893|ERROR|rdkafka#consumer-1| [thrd:192.168.58.95:9092/bootstrap]: 192.168.58.95:9092/0: Connect to ipv4#192.168.58.95:9092 failed: 由于目标计算机积极拒绝,无法连接 当服务器恢复正常,能够正常重连 2)必须指定一个groupid,可以是任意的一串字符串 /* Consumer groups require a group id */ if (!group) group = "rdkafka_consumer_example"; 3)rd_kafka_consumer_poll会返...

0
0
发表了博客
2019/07/25 14:19

librdkafka消费者消费方式

最近在研究librdkafka消费着模式,一直对RdKafka::KafkaConsumer::assign(vector<RdKafka::TopicPartition *> &)函数有疑问,今天做了个小实验验证了自己的想法。  其实kafka有两种消费模式,一种是订阅模式,一种是特定分区模式:  1. 订阅模式:消费着订阅某个topic,那么对于这个topic所有分区内的消息,它都能去消费(当然,同一消费者组的消费者只能消费一次指定topic的消息)。即只要有分区有消息阻塞,且它是空闲状态, ...

0
0
发表了博客
2018/01/08 11:24

Librdkafka的操作处理队列

Librdkafka将与kafka broker的交互,内部实现的一些操作,都封装成operator结构, 然后放入操作处理队列里, 统一处理; 这个队列其实也是一个线程间通讯的管道; 围绕这个队列的操作,是rdkafka的精华所在, 如果搞过windows编程的话,这个相当于event loop, 如果搞过golang的话,这个跟channel有点像; 包括如下结构介绍: rd_kafka_q_s d_kafka_queue_s rd_kafka_q_s 所在文件: src/rdkafka_queue.h(c) 定义: struct rd_kafka_q_s { ...

0
0
发表了博客
2018/01/16 03:26

Librdkafka对kafka topic的封装

上一节我们讲了librdkakfa对topic-partition的封装, 任何一个partition都必须要属于一下topic; 我们这节就来分析一上librdkafka对topic的封装 rd_kafka_itopic_s 所在文件: src/rdkafka_topic.h 这里还有一个类型rd_kafka_topic_t,定义:typedef struct rd_kafka_topic_s rd_kafka_topic_t;,这是个空定义没有现实, 其实就是rd_kafka_itopic_s, 这个类型主要是面向librdkafka的使用者,sdk里称作app topic, 它有自己的引用计数. 在...

0
0
发表了博客
2019/04/01 15:46

kafka之c接口常用API------librdkafka

1 安装方法以及相关库文件   https://github.com/edenhill/librdkafka 2 High-level producer High-level consumer Simple (Low-level) consumer 压缩:snappy, gzip, lz4 SSL SASL   consumer有两套API,高级(high-level)和底层(simple)的,应该叫底层API或者低级API,它跟高级API的区别是没有自动负载均衡,而高级API会自动进行负载均衡。 3 kafka主要的用途   发数据---->producer     //发一条     rd_kafka_...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
9 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部