如何使用confluent-kafka-go获取kafka broker错误事件

3
我正在使用confluent-kafka-go库的通道生产者示例编写Go语言生成器。当我使用正常运行的代理运行我的应用程序时,通过从range producer.Events()读取已生成事件。

但是当代理服务器宕机时,我会在stderr中获取如下来自kafka库的日志,但是我无法找到一种方法让我的应用程序注册这些错误以便我可以检测到它们:

%3|1528267290.204|FAIL|rdkafka#producer-1| [thrd:xxx.xxx.com:9092/bootstrap]: xxx.xxx.com:9092/bootstrap: Connect to ipv4#xxx.xxx.xxx.xxx:9092 failed: Connection refused
%3|1528267290.204|ERROR|rdkafka#producer-1| [thrd:xxx.xxx.com:9092/bootstrap]: 1/1 brokers are down

如何从库中接收这些事件?澄清一下,我对像RD_KAFKA_RESP_ERR__FAIL这样在docs中描述的错误感兴趣。

@Volker,根据文档,事件并不是来自服务器,而是来自库goroutines和librdkafka。有KafkaError错误事件,例如“RD_KAFKA_RESP_ERR__FAIL”和“RD_KAFKA_RESP_ERR__TRANSPORT”。请查看文档。我已经修改了帖子。应该有一种方法让应用程序检测连接故障。 - sivann
@volker,我详细说明了,请你撤销踩票,这样别人会更注意到这个问题。 - sivann
很抱歉,您的问题描述对我来说仍然很晦涩。您能否尝试详细描述实际设置?您提到了“服务器”、“库”和从某处传来的事件?这些“事件”是主题中的Kafka消息吗?对于如此复杂的问题,您确实应该提供更多(3到10倍)的信息。 - Volker
@volker 只需在没有代理的情况下运行链接的示例。它无法捕获像ALL_BROKERS_DOWN这样的错误。没有比这更简单的了。这是关于特定kafka库的问题。 - sivann
@Volker 不必因为问题不是编码101而变得敌对。没有代码链接?问供应商?真的吗?无论如何,继续讨论也没有意义。 - sivann
显示剩余3条评论
1个回答

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接