有没有办法知道使用Java

时间:2019-07-12 08:50:39

标签: apache-kafka kafka-consumer-api kafka-producer-api

我有两种不同的服务-配置服务数据填充器服务 config-service 的职责是创建主题,然后 data-populator-service 将数据推送到kafka服务。请注意, config-service data-populator-service 是独立的。

我的问题- data-populator-service 是否有更好的方法来知道该主题已创建?

当前我正在使用

_Collection<TopicListing> topicListings = adminClient.listTopics().listings().get();_

并定期在 topicListings 中检查我的主题。有没有回调机制?

请注意,我正在为生产者使用 org.apache.kafka

1 个答案:

答案 0 :(得分:0)

在您的 data-populator-service 中,您可以在znode /<kafka_root>/config/topics/上设置Zookeeper Watch,并且在创建新主题时会收到通知。并不是因为胆小,也不是太优雅的解决方案,但是考虑到ZK Java Example中提供的漂亮示例,我认为这是可行的。只要确保通读一下有关一次性触发事件的“要记住的事情...”,以及存在的()与获得的数据()的区别。