"kafka_2.10"和"kafka-clients"这两个kafka artifactIds有什么不同?

9
以下是Kafka 0.9客户端API的Maven依赖项有何不同之处?
第一部分:
<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>

第二部分:

<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-clients</artifactId>
    <version>0.9.0.0</version>
</dependency>
2个回答

7
kafka-clients是最近推出的,旨在容纳新客户端,这些客户端是纯Java实现,并且与服务器代码完全隔离。旧的客户端(包括我们称之为“旧”消费者的内容,因为正在开发新消费者,但实际上是“当前”消费者)位于核心模块(kafka_<scala_version>)。来源

如果我使用 <artifactId>kafka_2.10</artifactId> <version>0.9.0.0</version>,那是否意味着我们使用 Kafka 0.9 客户端 API? - chao zhang
是的,您需要在pom.xml中添加Kafka 0.9的依赖项,如下所示:<!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients --> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>0.9.0.0</version> </dependency> - Gongqin Shen
非常感谢您的支持! - PRATHAP S

4

Kafka_2.10 的依赖意味着当前的 Kafka 是用 Scala 2.10 实现的,而 Scala 是 Kafka 编写的编程语言。 kafka-clients 0.9.0.0 意味着该客户端可以与版本为 0.9.0.0 的 Kafka 进行通信。

总之,2.10 是编程语言 Scala 的版本号,而 0.9.0.0 是流处理平台 Kafka 的版本号。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接