我注意到那里有几个生产者:
org.apache.kafka.clients.producer.KafkaProducer<K,V>
kafka.javaapi.producer.Producer
它们之间的区别是什么?应该使用哪一个?为什么?请建议!
答案 0 :(得分:2)
kafka.javaapi.producer.Producer
是Kafka 0.8.x中使用的旧遗留生产者。这是在Scala中实现的,但是有一个专用的Java API。它仍然可以在普通的Kafka神器中使用。
org.apache.kafka.clients.producer.KafkaProducer
是用Java编写的新生成器实现,与旧版本相比有很多改进,是你应该使用Kafka 0.9.0.0版本的。这在带有坐标的单独客户端依赖项中可用:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>0.9.0.0</version>
</dependency>