我们是否应该更新scala-kafka客户端库依赖项(当前为0.10.2)以匹配代理的kafka版本(v1.1.0)?
Kafka0.10.2文档提到
从版本0.10.2开始,java客户机(生产者和消费者)已经获得了与旧代理通信的能力。版本0.10.2的客户端可以与版本0.10.0或更新的代理对话
当客户端api版本落后于服务器版本时,是否有任何不利影响?更重要的是,我们能安全地将kafka客户端api库从0.10.2更新到1.10吗?
我们是否应该更新scala-kafka客户端库依赖项(当前为0.10.2)以匹配代理的kafka版本(v1.1.0)?
Kafka0.10.2文档提到
从版本0.10.2开始,java客户机(生产者和消费者)已经获得了与旧代理通信的能力。版本0.10.2的客户端可以与版本0.10.0或更新的代理对话
当客户端api版本落后于服务器版本时,是否有任何不利影响?更重要的是,我们能安全地将kafka客户端api库从0.10.2更新到1.10吗?
1条答案
按热度按时间nbewdwxp1#
虽然经纪人现在与老客户兼容,但使用老客户也有一些缺点。
其中最主要的是消息转换。在1.1和0.10.2之间,记录格式已更改。因此,默认情况下,较老的客户机将强制代理在生成和消费消息时转换消息。转换是相当内存密集型的,并且有性能成本。看到了吗http://kafka.apache.org/documentation/#upgrade_11_message_format
显然,老客户机无法使用新功能。在0.10.2和1.1之间,有很多不错的特性,比如精确一次的语义、更好的失败验证反馈、管理操作等等