我是kafka的新学习者。但令我困惑的是,似乎有两个kafka客户包。
一个是 kafka.javaapi。* 喜欢
import kafka.javaapi.producer.Producer;
import kafka.producer.KeyedMessage;
import kafka.producer.ProducerConfig;
另一个是 org.apache.kafka。* 。喜欢
import org.apache.kafka.clients.producer.KafkaProducer<K,V>
显示的是页面http://kafka.apache.org/082/javadoc/index.html?org/apache/kafka/clients/producer
我不知道他们的差异是什么。
答案 0 :(得分:24)
在Kafka 0.8.2之前,kafka.javaapi.producer.Producer
是唯一使用Scala实现的官方Java客户端(生产者)。
从Kafka 0.8.2开始,出现了一个新的Java生成器API org.apache.kafka.clients.producer.KafkaProducer
,它完全用Java实现。
我们正在为Kafka重写JVM客户端。从0.8.2开始,Kafka包括一个新重写的Java生产者。下一个版本将包含一个等效的Java使用者。这些新客户端旨在取代现有的Scala客户端,但为了兼容性,它们将共存一段时间。这些客户端在具有最小依赖性的单独jar中可用,而旧的Scala客户端仍与服务器打包在一起。
如果您对kafka.javaapi.producer.Producer
感兴趣,请参阅Kafka 0.8.1文档中的2.1 Producer API。