什么是kafka.javaapi。*和org.apache.kafka之间的区别。*?

时间:2015-03-27 03:03:05

标签: api apache-kafka

我是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

我不知道他们的差异是什么。

1 个答案:

答案 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 0.8.2 Documentation

  

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

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