Apache kafka 卡夫卡消费者:如何抓住经纪人的失误?

Apache kafka 卡夫卡消费者:如何抓住经纪人的失误?,apache-kafka,kafka-consumer-api,Apache Kafka,Kafka Consumer Api,我目前正试图设计一个Kafka故障切换系统,以检测Kafka群集(代理)何时宕机,但我很难让消费者意识到代理已宕机 我看到,如果没有数据,消费者会不断地进行投票(虽然它仍然连接到代理),但如果代理失败,我的消费者就永远坐在那里无所事事 如果某个属性无法与代理通信,是否需要为其设置属性以引发异常或其他问题?或者我需要利用某种回调吗 谢谢 令人遗憾的是,消费者在经纪人失败中的行为并不是一个微不足道的话题,很长一段时间以来,它一直在我的“需要适当调查的事项”清单上,但我还没有着手解决它。你也可以从相关

我目前正试图设计一个Kafka故障切换系统,以检测Kafka群集(代理)何时宕机,但我很难让消费者意识到代理已宕机

我看到,如果没有数据,消费者会不断地进行投票(虽然它仍然连接到代理),但如果代理失败,我的消费者就永远坐在那里无所事事

如果某个属性无法与代理通信,是否需要为其设置属性以引发异常或其他问题?或者我需要利用某种回调吗


谢谢

令人遗憾的是,消费者在经纪人失败中的行为并不是一个微不足道的话题,很长一段时间以来,它一直在我的“需要适当调查的事项”清单上,但我还没有着手解决它。你也可以从相关的jiras开始看,这可能会给你一个不错的想法。但最终我认为此时的答案是,如果你想要这种行为,你必须实现某种后台线程来检查超时,并在到达消费者时杀死消费者。@SönkeLiebau是的,我做了很多搜索(也浏览了源代码)目前看来,这是唯一可行的方法。消费者只是无限期地阻塞,直到它可以重新连接或终止。我将进行调查,看看在这种情况下,来自另一个线程的wakeup()调用是否能够正确地关闭使用者。谢谢