卡夫卡消费者0.10向后兼容吗?

时间:2016-10-25 11:02:16

标签: apache-kafka kafka-consumer-api

kafka消费者0.10是否与0.9经纪人兼容?

如果我没有弄错,0.9消费者仍然被认为是beta,而0.10是稳定的,对吧?这就是为什么我对使用0.10版本感兴趣,但我的经纪人版本是0.9,我不想升级它。

3 个答案:

答案 0 :(得分:13)

如果要使用0.10客户端,则需要将群集升级到0.10。

Kafka向后兼容客户端但不向前兼容。也就是说,0.9客户端可以使用0.10集群,但0.10客户端不能使用0.9集群。

我们的想法是首先将您的群集升级到0.10,然后逐步将客户端从0.9迁移到0.10。

答案 1 :(得分:2)

您没有说明您的客户所使用的语言以及您使用的客户端库。一些客户端(如基于librdkafka的客户端)可以处理与较旧代理的连接,但一般规则(对于默认的Apache kafka java客户端也是如此)是代理必须具有与客户端相同或更高的版本号。换句话说,Kafka是向后兼容的,但它尚未完全向前兼容。

答案 2 :(得分:2)

我的答案不仅限于0.10.0客户。我搜索Kafka client & broker version compatibility并到达此处,所以我给以后的读者留下了更完整的答案。

根据this official post

  

在KIP-35和KIP-97中进行的“双向”客户端兼容性工作消除了这些限制。新的Java客户端现在可以与旧的代理进行通信。

     

改进的客户端兼容性是Kafka 0.10.2中的一项新功能。版本为0.10.0或更高版本的代理支持此功能。

例如,如果我们在2.0.0中使用客户端,则可以使用代理0.10.0 all 其他更高版本(当然,将不支持新功能)。但是,如果我们在0.10.1中使用客户端,则只能与0.10.1及更高版本的代理进行通信。

因此,卡夫卡消费者0.10 0.9经纪人不兼容。