我花了一些時間發現連接到Kafka 0.11羣集的Go應用程序正在使用庫的舊版本0.8.2,它在響應中缺少Timestamp值。Kafka 0.11/Golang Sarama版本支持
然後我發現Kafka 0.11.x API /版本不被支持(但他們正在處理它)。
我現在有兩種解決方案。
首先是在我的應用程序中明確設置所需版本。 其次是「調整」Sarama代碼以使用版本0.10.x作爲最低版本,使我可以使用所有的0.10.x API /功能。
我還在想,爲什麼這個版本不是從我連接的卡夫卡經紀人處獲取?
我無法理解它應該如何從代碼中工作...我清楚地看到在sarama.Config.Version中設置或定義的版本,但我找不到任何內容來更新此值連接到經紀人?
我知道,Python是做這種方式:
from kafka import BrokerConnection
broker=BrokerConnection("localhost",9092,0)
broker.connect()
broker.check_version()
(0,11,0)
我缺少什麼?