如何在librdkafka中解决RdKafka :: ERR__TIMED_OUT和RdKafka :: ERR__MSG_TIMED_OUT?

时间:2015-07-20 16:21:02

标签: c++ apache-kafka

我正在使用C ++ kafka客户端 librdkafka 。查看示例https://github.com/edenhill/librdkafka/blob/master/src-cpp/rdkafkacpp.hhttps://github.com/edenhill/librdkafka/blob/master/examples/rdkafka_example.cpp,似乎没有连接到代理的过程?如何为这些连接错误重新连接人员?如何检查连接状态?

1 个答案:

答案 0 :(得分:1)

librdkafka从应用程序中抽象出所有代理连接,它将尝试始终保持与每个已知代理的连接(通过metadata.broker.list或从第一个引导程序代理返回的代理列表)。

连接错误后,librdkafka将再次尝试再次连接。

如果没有任何经纪人可以连接到ALL_BROKERS_DOWN事件将被触发,但目前没有相应的事件可以让经纪人重新上线。 应用程序并不需要担心,因为librdkafka会在后台处理所有重新连接和消息重新传输,并且会一直尝试生成消息,直到超出message.timeout.msmessage.send.max.retries

在介绍指南中有关于此的更多信息: https://github.com/edenhill/librdkafka/blob/master/INTRODUCTION.md

相关问题