akka-Kafka(scala 框架)中是否有列出所有可用主题的功能

Is there functionality in the akka-Kafka (scala framework) to list all available topics

我正在尝试检查传递给我的 "start stream" 方法的主题是否是我的程序连接到的 Kafka 中的 valid/already 现有主题。

我知道 Java 有 KafkaConsumer.ListTopics,但我正在使用 akka-kafka 库,ConsumerSetting 似乎没有相同的方法。我可以使用 Kafka-topics --list 命令执行脚本来列出 kafka 主题的代码,但我更喜欢比那更简单的方式。

最好的方法是从 zookeeper 获取主题列表,如下所示:

 import org.apache.zookeeper.ZooKeeper;

 val zk = new ZooKeeper("localhost:2181", 10000, null)
 val topics = zk.getChildren("/brokers/topics", false)

您必须从该设置对象 create the KafkaConsumer,然后您可以使用您提到的 API 方法。

您不应将 Zookeeper 直接暴露给未经身份验证的客户端。