1.內部topic
答案:__consumer_offsets:作用是保存 Kafka 消費者的位移信息,logCleaner線程來完成清除無用的提交(沒有消息消費了,默認5s一直在提交);
__transaction_state:用來存儲事務日志消息
2.優先副本選舉
答案:解決當某個主機down機后,部分主機會有多個leader 副本,導致負載不均衡,優先副本選舉就是解決此問題,生產上不建議開啟,可以手動控制。
3.副本怎么同步?
答案:所謂同步,必須滿足兩個條件:
副本節點必須能與zookeeper保持會話(心跳機制)
副本能復制leader上的所有寫操作,并且不能落后太多(卡主或滯后的副本控制由replica.lag.time.max.ms配置)
利用HW,LEO進行復制同步。
4.如果我指定了一個offset,Kafka怎么查找到對應的消息?
答案:
1)跳躍表找到分段文件
2)利用稀疏索引(.index),通過二分法定位到相鄰的offset
3)接著在segment順序查找
5.延遲隊列,重試隊列,死信隊列
答案:延遲隊列:用戶登錄過時,訂單30分鐘自動取消
重試隊列:可以利用延遲隊列實現,即該消息處理失敗后,多久時間重試
死信隊列:消息處理失敗的隊列
更多關于“大數據培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學,課程大綱緊跟企業需求,更科學更嚴謹,每年培養泛IT人才近2萬人。不論你是零基礎還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。