我注意到从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>
答案 0 :(得分:3)
SimpleConsumer
是Kafka中Consumer的旧实现。现在不推荐使用新的Consumer API。在Kafka 0.8.1中,团队had started重新实现了Producer / Consumer API,并将其引入了kafka-client
Maven工件中。您可以跟踪版本之间的更改:0.8.1,0.9.0,1.0.0,...
如果使用的Kafka> = 0.10,则需要使用新的Consumer API。