C ++ KafkaConsumer&队列

时间:2016-09-18 21:50:00

标签: c++ apache-kafka kafka-consumer-api

我重写了我的C ++代码,使用 KafkaConsumer 队列
这是我的源代码片段(伪代码):

conf = RdKafka::Conf::create(RdKafka::Conf::CONF_GLOBAL);
//set basic conf
setGlobalConf("bootstrap.servers", brokers);
setGlobalConf("metadata.broker.list", brokers);
setGlobalConf("client.id", "app-meteo");
setGlobalConf("compression.codec", "snappy");
//set group id
setGlobalConf("group.id", params.at("group.id"));

//set default_topic_conf
tconf = RdKafka::Conf::create(RdKafka::Conf::CONF_TOPIC);
setConf(tconf, "auto.offset.reset", "earliest");
conf->set("default_topic_conf", tconf, errstr);

//create consuner
auto consumer = RdKafka::KafkaConsumer::create(conf, errstr);
consumer->subscribe("my_topic");

//create the queue for that consumer
auto queue = RdKafka::Queue::create(consumer);

//then ...
while (true)
{
    RdKafka::Message* msg = consumer->consume(1000);
    do_smthg(*msg, nullptr);
}

这里的问题是msg包含一个始终错误的错误: RdKafka :: ERR__TIMED_OUT

即使 my_topic 中有很多消息,我也不知道为什么会这样。

注意:我遵循了常见问题解答和文档,但可能我错过了一些内容。

0 个答案:

没有答案