Skip to main content
 首页 » 编程设计

java之Kafka 2.1.0 Java 消费者与 Scala 消费者

2024年05月22日38webabcd

我想将我团队的 Kafka 集群从版本 0.10.1.1 升级到版本 2.1.0。顺便说一句,Kafka官方文档说了下面的话。

Kafka Official Docu

Note that the older Scala clients, which are no longer maintained, do not support the message format introduced in 0.11, so to avoid conversion costs (or to take advantage of exactly once semantics), the newer Java clients must be used.

我不是很理解这句话。目前我们的团队正在使用用 Scala 编写的 Kafka 消费者应用程序。但是我们应该把它变成 Java 吗?如果我们目前使用Scala编写的应用程序,我不知道它到底会有什么缺点。

请您参考如下方法:

我认为您混淆了 Kafka 核心模块中基于 Scala 的旧kafka.consumerkafka.producer 包与新的 kafka -clients 依赖,在 Java 中实现。

如果你的导入就是这些,你就可以了,不需要使用不同的类,并且可能只需要在升级后重写一些方法调用的参数

org.apache.kafka.clients.consumer.KafkaConsumer 
org.apache.kafka.clients.producer.KafkaProducer 

should we turn this into Java? If we use the application written in Scala at present, I do not know exactly what disadvantages it can have

Java 更冗长,并且没有像 Scala 那样好的类型系统。欢迎您在 Scala、Kotlin、Clojure 等中编写相同的代码...归根结底,它都在 JVM 中运行