Receive failed: Disconnected
?
1. broker 的空閒鏈接回收器關閉不活躍鏈接。html
由 broker 的配置屬性 connections.max.idle.ms 控制,默認是 10 分鐘。git
這是目前爲止最多見的自發斷開鏈接的緣由。github
2. 客戶端發送了一個不支持的協議請求;這能夠認爲是客戶端的配置錯誤。負載均衡
broker 應該記錄一個關閉緣由的異常日誌,見 broker logs。socket
3. 客戶端發送一個缺陷的協議請求;這表示是客戶端的一個 bug。日誌
broker 應該記錄一個關閉緣由的異常日誌,見 broker logs。code
4. broker 在一個無效的狀態。htm
broker 應該記錄一個關閉緣由的異常日誌,見 broker logs。blog
5. TCP 網關/負載均衡器/防火牆 會話超時。get
嘗試在客戶端開啓 TCP keep-alives,經過設置 socket.keepalive.enable 爲 true。
6. 因爲 TCP 關閉不能發信號給遠程對等方關閉的緣由,客戶端沒法知道出了什麼問題。
若是斷開鏈接的日誌愈來愈煩人 而且 管理員認爲是鏈接回收器致使的,
客戶端能夠設置 log.connection.close 爲 false 來靜默全部自發斷開鏈接的日誌。
注意:無論出於什麼緣由鏈接關閉,librdkafka 會在 reconnect.backoff.jitter.ms (默認500ms) 以後自動重連。
Ref:https://github.com/edenhill/librdkafka/wiki/FAQ#why-am-i-seeing-receive-failed-disconnected