我正在使用kafka-net客户端向kafka发送消息.我只是想知道是否有任何方法可以检查kafka服务器是否可以接收消息.我关闭了kafka,但生成器已成功创建,SendMessageAsync刚冻结了很长时间.我试图通过超时,但它没有改变任何东西.我用kafka-net 0.9
当kafka服务器启动并运行时,它工作得很好 最佳答案 Broker的id在zookeeper(/ brokers / ids / [brokerId])中注册为临时节点,允许其他经纪人和消费者检测失败.(现在健康的定义相当幼稚.,如果在zk / brokers / ids中注册/ [brokerId]经纪人是健康的,否则就死了.
zookeeper ephemeral node exists as long as the broker’s session is
active.
您可以通过ZkUtils.getSortedBrokerList(zkClient)检查代理是否已启动,它返回/ brokers / ids下的所有活动代理ID
import org.I0Itec.zkclient.ZkClient;
ZkClient zkClient = new ZkClient(properties.getProperty("zkQuorum"), zkSessionTimeout, zkConnectionTimeout,ZKStringSerializer$.MODULE$);
ZkUtils.getSortedBrokerList(zkClient);