作者:美丽凍人2502938087 | 来源:互联网 | 2023-05-16 10:02
我是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
显示的是页面http://kafka.apache.org/082/javadoc/index.html?org/apache/kafka/clients/producer
我不知道他们的分歧是什么.
1> Heejin..:
在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.