kafka.javaapi.*和org.apache.kafka之间有什么区别.*?

wuc*_*ang 12 api apache-kafka

我是kafka的新学习者.但令我困惑的是,似乎有两个kafka客户端包.

一个是kafka.javaapi.*喜欢

import kafka.javaapi.producer.Producer;
import kafka.producer.KeyedMessage;
import kafka.producer.ProducerConfig;
Run Code Online (Sandbox Code Playgroud)

另一个是org.apache.kafka.*.喜欢

import org.apache.kafka.clients.producer.KafkaProducer<K,V>
Run Code Online (Sandbox Code Playgroud)

显示的是页面http://kafka.apache.org/082/javadoc/index.html?org/apache/kafka/clients/producer

我不知道他们的分歧是什么.

Hee*_*jin 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 0.8.2文档

我们正在为Kafka重写JVM客户端.从0.8.2开始,Kafka包括一个新重写的Java生产者.下一个版本将包含一个等效的Java使用者.这些新客户端旨在取代现有的Scala客户端,但为了兼容性,它们将共存一段时间.这些客户端在具有最小依赖性的单独jar中可用,而旧的Scala客户端仍与服务器打包在一起.

如果您有兴趣kafka.javaapi.producer.Producer,请参阅Kafka 0.8.1文档中的2.1 Producer API.