【发布时间】:2017-09-25 15:57:26
【问题描述】:
我花了一些时间发现我的 Go 应用程序连接到 Kafka 0.11 集群正在使用旧的 0.8.2 版本的库,它在响应中缺少 Timestamp 值。
然后我发现不支持 Kafka 0.11.x API/版本(但他们正在努力)。
我现在有两个解决方案。
首先是在我的应用程序中明确设置所需的版本。 其次是“调整” Sarama 代码以使用 0.10.x 版本作为最低版本,使我能够使用所有 0.10.x API/功能。
我仍然想知道为什么版本不是从我正在连接的 Kafka 代理获取的?
我无法从代码中理解它应该如何工作...我清楚地看到在 sarama.Config.Version 中设置或定义的版本,但是一旦连接我就找不到任何更新此值的东西给经纪人?
我知道 Python 是这样做的:
from kafka import BrokerConnection
broker=BrokerConnection("localhost",9092,0)
broker.connect()
broker.check_version()
(0, 11, 0)
我错过了什么?
【问题讨论】:
标签: go apache-kafka sarama