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