Kafka 2.1.0 Java消费者与Scala消费者

时间:2019-01-03 08:51:51

标签: java scala apache-kafka

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

Kafka Official Docu

  

请注意,不再维护的较旧的Scala客户端不支持0.11中引入的消息格式,因此,为避免转换成本(或仅利用一次语义即可),必须使用较新的Java客户端。

我不太理解那句话。目前,我们的团队正在使用用Scala编写的Kafka Consumer Application。但是我们应该把它变成Java吗?如果我们目前使用Scala编写的应用程序,我不完全知道它可能有什么缺点。

1 个答案:

答案 0 :(得分:2)

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

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

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

我们应该把它变成Java吗?如果我们目前使用Scala编写的应用程序,我不完全知道它有什么缺点

Java更为冗长,并且没有像Scala那样好的类型系统。欢迎您使用Scala,Kotlin,Clojure等编写相同的代码。总而言之,它们都在JVM中运行