gpt4 book ai didi

apache-kafka - 有什么方法可以检查 kafka 是否已从 kafka-net 启动并运行

转载 作者:行者123 更新时间:2023-12-04 05:19:37 26 4
gpt4 key购买 nike

我正在使用 kafka-net 客户端向 kafka 发送消息。我只是想知道是否有任何方法可以检查 kafka 服务器是否已启动并可以接收消息。我关闭了 kafka,但是已经成功创建了生产者并且 SendMessageAsync 只是卡住了很长时间。我试图通过超时,但它没有改变任何东西。我使用 kafka-net 0.9
当 kafka 服务器启动并运行时它工作得很好

最佳答案

Broker的id在zookeeper(/brokers/ids/[brokerId])注册为临时节点,允许其他broker和consumer检测故障。它死了)。

zookeeper ephemeral node exists as long as the broker's session is active.



您可以通过 ZkUtils.getSortedBrokerList(zkClient) 检查代理是否已启动,它返回 /brokers/ids/[brokerId] 下的所有事件代理 ID。
import org.I0Itec.zkclient.ZkClient;

ZkClient zkClient = new ZkClient(properties.getProperty("zkQuorum"), zkSessionTimeout, zkConnectionTimeout,ZKStringSerializer$.MODULE$);
ZkUtils.getSortedBrokerList(zkClient);

引用
Kafka data structures in Zookeeper

关于apache-kafka - 有什么方法可以检查 kafka 是否已从 kafka-net 启动并运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35807374/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com