前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >librdkafka 安装与使用

librdkafka 安装与使用

作者头像
aneutron
发布2022-08-19 11:30:09
2.1K0
发布2022-08-19 11:30:09
举报
文章被收录于专栏:闲余说

安装 librdkafka

代码语言:javascript
复制
git clone https://github.com/edenhill/librdkafka.git ./librdkafka
cd ./librdkafka
./configure
# Or, to automatically install dependencies using the system's package manager:
# ./configure --install-deps
# Or, build dependencies from source:
# ./configure --install-deps --source-deps-only
make
sudo make install

使用 librdkafka

librdkafka 中自带 examples,cpp 目录下是 C++ 版本的包括两个 cpp 文件:consumer.cpp 和 producer.cpp,即生产者和消费者。修改其中 brokers 变量和 topic_str 变量的值。

consumer.cpp 文件的第58~63行修改如下(只修改了59行和61行,为看起来直观一些多粘了几行):

代码语言:javascript
复制
//broker 列表,可以用逗号隔开,只写其中一个也可以,这是线下测试环境
std::string brokers = "10.159.1.40:19092,10.159.1.41:19092,10.159.1.42:19092";
std::string errstr;
std::string topic_str="test_mq";
std::vector<std::string> topics;
topics.push_back(topic_str);

producer.cpp 文件的第31~34行修改如下(只修改了32行和34行,为看起来直观一些多粘了几行):

代码语言:javascript
复制
//broker 列表,可以用逗号隔开,只写其中一个也可以,这是线下测试环境
std::string brokers = "10.159.1.40:19092,10.159.1.41:19092,10.159.1.42:19092";
std::string errstr;
std::string topic_str="test_mq";

编译 consumer.cpp 和 producer.cpp

代码语言:javascript
复制
$ cd ~/librdkafka/examples/cpp
$ g++ -o consumer consumer.cpp -lrdkafka++ -lrdkafka -lstdc++ -lbaas_c_style_interface -I~/librdkafka/include -L~/librdkafka/lib

$ g++ -o producer producer.cpp -lrdkafka++ -lrdkafka -lstdc++ -lbaas_c_style_interface -I~/librdkafka/include -L~/librdkafka/lib

运行 producer 和 consumer (控制台交互式的程序,需要开两个窗口)

代码语言:javascript
复制
$ cd ~/librdkafka/examples/cpp

$ ./producer
% Created producer rdkafka#producer-1
hello world
% Produced message (11 bytes)

$ ./consumer
% Created consumer rdkafka#consumer-1
Read msg at offset 7
hello world
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 闲余说 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装 librdkafka
  • 使用 librdkafka
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档