【发布时间】:2019-01-07 11:42:32
【问题描述】:
我想将我团队的 Kafka 集群从版本 0.10.1.1 升级到版本 2.1.0。顺便说一句,Kafka 官方文档里有这么一段话。
请注意,不再维护的旧 Scala 客户端不支持 0.11 中引入的消息格式,因此为避免转换成本(或利用仅一次语义),必须使用较新的 Java 客户端。
我不太理解那句话。目前我们的团队正在使用用 Scala 编写的 Kafka Consumer Application。但是我们应该把它变成Java吗?如果我们目前使用 Scala 编写的应用程序,我不知道它到底有什么缺点。
【问题讨论】:
-
不再支持 Scala Kafka 客户端,您应该使用 Scala 代码中的 Java 实现。
-
感谢您的评论。 “不再支持”意味着“我可以使用它,但它会导致性能问题和其他问题。”?对吗?
-
使用它意味着如果您将 Kafka Brokers 从 0.10.1.1 更新到 2.1.0,您的客户端将不再“使用”相同的协议,并且可能无法正常工作。
-
@Dogil,您无需将 Scala 代码更改为 Java。鉴于 Scala 也在 JVM 上运行,它可以与 Java 完全互操作。您只需要更改直接与 Kafka 对话的代码部分,以使用 Java API (仍在 scala 代码中)。
-
@Dogil 我不知道,抱歉。我没有使用过 Kafka——我只是指出你可以从 Scala 调用 Java。
标签: java scala apache-kafka