rdkafka线程过多_转载:librdkafka问题总结

本文介绍了librdkafka的模块,如config、topic、produce和consume,并讨论了使用中遇到的问题,包括数据超时删除、offset管理和消息顺序性等。此外,还提到了Kafka的partitioner实现,以及如何在C++中封装librdkafka客户端。
摘要由CSDN通过智能技术生成

librdkafka是kafka官方推荐的c client端开源库。本文基于librdkafka_0.8, 对该库作简要介绍,同时对使用过程中遇到的一些问题做个总结

一、模块介绍

librdkafka主要分为config,topic,produce,consume几个模块

config

依据kafka相应的config文件字段定义

先通过默认配置文件创建confg对象,再通过confg的set方法设置需要覆盖的字段

参考: http://blog.csdn.net/beitiandijun/article/details/40582541

topic

支持一个producer创建多个topic(比如bid,wn等类型的日志)

创建主题方法rd_kafka_topic_new逻辑:

检查是否有同名可用topic ==> 检查tconf为空则以默认配置创建 ==>

检查partitioner未配置则配置为随机方法(从0,pcnt-1中选取partition) ==> 创建分区号为默认值RD_KAFKA_PARTITION_UA 的分区,并将topic插入队尾

partitioner类回调方法需自己实现

produce

kafka对象创建方法

rd_kafka_t *rd_kafka_new (rd_kafka_type_t type, rd_kafka_conf_t *conf,

char *errstr, size_t errstr_size)

1

2

1

2

检查config对象,创建事件循环主线

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值