2016-08-04 49 views
1

卡夫卡的不同版本客戶端可以碰到單一版本的卡夫卡經紀商。我知道我們可以啓用'inter.broker.protocol.version'來讓較新版本的Kafka接受舊版本的客戶端。單一版本的卡夫卡經紀商的不同版本的客戶端

例如,有沒有一種方法可以讓我們使0.8和0.9版本的卡夫卡客戶端在0.9卡夫卡經紀人上工作?

回答

0

其實inter.broker.protocol.version沒有任何關於這一點,其唯一目的是支持滾動升級集羣防止發生新的經紀人開始「說話」的新協議版本較舊的經紀人無法理解的情況,所以這就是爲什麼你設置inter.broker.protocol.version到您當前的羣集版本。

關於客戶端,只要滿足一個簡單的規則,客戶端應該沒有問題:客戶端應該使用代理支持的協議版本,例如,一個0.9代理會高興地處理來自較老客戶的所有請求,但會在0.10版本的請求版本上失敗。基本上,規則是upgrade brokers first, then clients,以確保所有必要的邏輯都在代理上實現,以成功處理客戶端請求。

客戶端發送每個請求的請求版本,所以代理可以區分較舊的客戶端和正確處理他們的請求。

相關問題