What is the difference between kafka artifactIds kafka_2.10 and kafka clients?

What is the difference between the following maven dependency for the Kafka 0.9 client API?

Part 1:

<dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka_2.10</artifactId> <version>0.9.0.0</version> <exclusions> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-library</artifactId> <version>2.10.0</version> </dependency> 

Part 2:

 <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>0.9.0.0</version> </dependency> 
+5
source share
2 answers

kafka-clients was introduced only recently and is designed to store new clients that are pure Java implementations and are completely isolated from server code. Old customers (including what we have called the "old" consumer since the development of the new consumer, but really are the "current" consumer) are in the main module ( kafka_<scala_version> ).

a source

+4
source

The Kafka_2.10 dependency means that the current Kafka is implemented in Scala 2.10, which is the programming language Kafka is written in. kafka-clients 0.9.0.0 means that the client can talk with Kafka version 0.9.0.0.

To summarize, 2.10 is the Scala version # programming language, and 0.9.0.0 is the Kafka version # streaming platform.

+2
source

Source: https://habr.com/ru/post/1241967/


All Articles