Kafka经纪人1.10,使用API​​ 0.10.2的客户端

时间:2019-02-23 00:13:08

标签: apache-kafka

我们应该更新我们的Scala Kafka客户端库依赖项(当前为0.10.2)以匹配代理的Kafka版本(v1.1.0)吗?

Kafka 0.10.2 Documentation提到

  

从版本0.10.2开始,Java客户端(生产者和使用者)   已具备与较早经纪人进行交流的能力。版   0.10.2客户可以与0.10.0版或更高版本的代理进行对话

当客户端API版本落后于服务器版本时,是否有任何不利影响?更重要的是,我们可以安全地将Kafka客户端API库从0.10.2更新到1.10吗?

1 个答案:

答案 0 :(得分:0)

尽管经纪人现在与较旧的客户端兼容,但是使用较旧的客户端存在一些缺点。

主要是消息转换。在1.1和0.10.2之间,记录格式已更改。因此,默认情况下,较旧的客户端将强制代理在生成和使用时转换消息。转换占用大量内存,并降低了性能。参见http://kafka.apache.org/documentation/#upgrade_11_message_format

那么显然老客户无法使用新功能。在0.10.2和1.1之间,有很多不错的功能,例如Exactly Once semanticsbetter authentication feedback on failure,管理员操作等