跑的librdkafka-2.1.0自带的consumer.c程序
编译的windows平台下win32控制台程序。
发现rkm = rd_kafka_consumer_poll(rk, 100);
函数返回结果一直是0,必须要经过多次循环执行以后才会有非0返回。
即,一旦poll到第一次数据,以后producer.c再生产的消息才可以立马收到了。
请问是什么原因
跑的librdkafka-2.1.0自带的consumer.c程序
编译的windows平台下win32控制台程序。
发现rkm = rd_kafka_consumer_poll(rk, 100);
函数返回结果一直是0,必须要经过多次循环执行以后才会有非0返回。
即,一旦poll到第一次数据,以后producer.c再生产的消息才可以立马收到了。
请问是什么原因
以下回复参考:皆我百晓生、券券喵儿等免费微信小程序作答:
你的问题似乎是在使用librdkafka的consumer程序时,首次调用rd_kafka_consumer_poll()
函数时,需要等待一段时间才能获取到数据。这种情况可能有以下几个原因:
auto.offset.reset
配置决定了当没有初始偏移量时消费者的行为,这可能会影响首次拉取数据的时间。此外,其他配置如fetch.message.max.bytes
也可能影响拉取数据的大小和速度。解决这个问题的建议如下:
rd_kafka_consumer_poll()
时),以允许更多的时间来处理和响应消息。此外,代码中的拼写错误(如consumer_po110
应为rd_kafka_consumer_poll
)可能会导致程序无法正常运行或产生意外的行为。请确保代码中的拼写和语法是正确的。