如何使用Java从现有的Consumer中创建新的Kafka Producer?
答案 0 :(得分:0)
您不能从KafkaConsumer实例创建KafkaProducer。
您必须使用与生产者相同的连接设置来显式创建KafkaProducer。
考虑到您提到的用例(将数据从一个主题复制到另一个主题),我建议使用Kafka Streams。实际上,Kafka中确实有一个示例可以做到这一点:https://github.com/apache/kafka/blob/trunk/streams/examples/src/main/java/org/apache/kafka/streams/examples/pipe/PipeDemo.java
答案 1 :(得分:0)
我将建议使用Kafka Streams库。它从kafka主题读取数据并进行一些处理,然后写回另一个主题。
对您来说,这可能是更简单的方法。 https://kafka.apache.org/documentation/streams/
当前限制是,源群集和目标群集应与Kafka Streams相同。 否则,您需要使用Processor API定义另一个目标群集。
另一种方法是简单地在消费者程序中定义生产者。只要您的规则匹配(基于偏移量或任何条件),请调用producer.send()
方法