记录工作
cppkafka是基于rdkfka 的C++封装,使用起来更加方便
运行环境:ubuntu20.04
一、前提
需要预装librdkafka 命令如下:
-- sudo apt-get install librdkafka-dev
如果本机已安装 查看本机安装版本命令
pkg-config --modversion rdkafka
安装完之后目录如下:
头文件
/usr/include/librdkafka
库文件
/usr/lib/x86_64-linux-gnu
二、CPPKafka 安装
1.可以github 上下载,github地址如下:
Releases · mfontanini/cppkafka · GitHub
1. 安装到系统中
直接进入下载好的文件夹下面
1.mkdir build
2. cd build
3. cmake ..
4 .make
5. sudo make install (这部装载在系统中)
2.跟项目一起编译链接使用
1. 将下载的cppkafka文件包解压放到项目中适当的文件夹下面(一般放第三方库中)
2.在项目中需要引动cppkakfa 的cmakelist.txt 文件中进行修改
添加项目子目录
add_subdirectory(cppkakfa "cppkafa文件夹所在路径")
进行动态链接
target_link_libraries("需要使用cppkakfa的应用程序" cppkafka)
三、参数配置
具体使用列子在下载下来的cppkafka中有有对应的例子
1. 生产者参数配置
metadata.broker.list : 对应kafka 服务器ip地址
topic: 生产者可自定义 kafka 服务器会自动识别
message.max.bytes: 发送文件大小限制 librdkafka 默认配置1M ,可通过如下配置更改
Configuration config = {
{ "metadata.broker.list", fmm_config.GetCppKafkaSetting().ip_ },
{ "message.max.bytes", "10485760" }
};
2. 消费者参数配置
metadata.broker.list : 对应kafka 服务器ip地址
"group.id": 对应消费者group 自定义即可
enable.auto.commit: 从那个位置开始消费消息
"max.poll.interval.ms" : 调用poll 方法之间空闲的最大时长 默认5 分钟 "300000"
Configuration config = {
{ "metadata.broker.list", fmm_config.GetCppKafkaSetting().ip_ },
{ "group.id", fmm_config.GetCppKafkaSetting().group_id_ },
{ "max.poll.interval.ms", "300000" },
{ "enable.auto.commit", false }
};