我想将我团队的 Kafka 集群从版本 0.10.1.1 升级到版本 2.1.0。顺便说一句,Kafka官方文档说了下面的话。
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.consumer
和 kafka.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 中运行