摘自:https://github.com/edenhill/librdkafka/wiki/Broker-version-compatibility

自从发布了0.8.0.0.0版本之后,librdkafka支持所有的发布版本的Apache Kafka broker,但不是所有的语法属性都能被broker接受,因为
一些语法特性依赖于broker的具体实现

当前的默认配置:
api.version.request=true
broker.version.fallback=0.9.0.0
api.version.fallback.ms=0 (never revert to broker.version.fallback)

根据现场使用的broker版本,对librdkafka进行具体的配置


Broker version >= 0.10.0.0 (or trunk)
对于 librdkafka >= v1.0.0 不再需要配置api.version相关参数
对于 librdkafka < v1.0.0需要指定配置如下:
api.version.request=true
api.version.fallback.ms=0

Broker versions 0.9.0.x

api.version.request=false
broker.version.fallback=0.9.0.x  (the exact 0.9.0.. version you are using)

Broker versions 0.8.x.y
api.version.request=false
broker.version.fallback=0.8.x.y  (your exact 0.8... broker version)

详情描述
Apache Kafka 在0.10.0.0版本支持KIP-35(提供API函数查询要求的类型和支持的版本),
(允许客户端查询哪些操作合法),对于旧版本的broker无法得知是否支持