卡夫卡中的两个Maven模块之间有什么区别

时间:2018-07-21 06:54:03

标签: apache-kafka

我注意到从Kafka 0.8.2.0开始,Kafka附带了一个新的maven模块:

http://mvnrepository.com/artifact/org.apache.kafka/kafka-clients

<!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients -->
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-clients</artifactId>
    <version>0.8.2.0</version>
</dependency>

但是,它仍然带有较旧的maven模块

<!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka -->
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka_2.11</artifactId>
    <version>0.8.2.0</version>
</dependency>

这两个模块之间有什么区别或关系?我注意到我以前使用过的SimpleConsumer在kafka_2.11模块中,但不在kafka-clients中,这是否意味着如果我要使用SimpleConsumer,我仍然必须包括kafka_2.11模块吗? / p>

1 个答案:

答案 0 :(得分:3)

SimpleConsumer是Kafka中Consumer的旧实现。现在不推荐使用新的Consumer API。在Kafka 0.8.1中,团队had started重新实现了Producer / Consumer API,并将其引入了kafka-client Maven工件中。您可以跟踪版本之间的更改:0.8.10.9.01.0.0,...

如果使用的Kafka> = 0.10,则需要使用新的Consumer API。