Kafka中的ISR、AR又代表什麼
ISR:與leader保持同步的follower集合
AR:分區的所有副本
Kafka中的HW、LEO等分別代表什麼?
LEO:沒個副本的最後條消息的offset
HW:一個分區中所有副本最小的offset
Kafka中是怎麼體現消息順序性的?
每個分區內,每條消息都有一個offset,故只能保證分區內有序。
Kafka中的分區器、序列化器、攔截器是否瞭解?它們之間的處理順序是什麼?
攔截器 -> 序列化器 -> 分區器
Kafka生產者客戶端的整體結構是什麼樣子的?使用了幾個線程來
“消費組中的消費者個數如果超過topic的分區,那麼就會有消費者消費不到數據”這句話是否正確?
正確
消費者提交消費位移時提交的是當前消費到的最新消息的offset還是offset+1?
offset+1
有哪些情形會造成重複消費?
那些情景會造成消息漏消費?
先提交offset,後消費,有可能造成數據的重複
當你使用kafka-topics.sh創建(刪除)了一個topic之後,Kafka背後會執行什麼邏輯?
- 會在zookeeper中的/brokers/topics節點下創建一個新的topic節點,如:/brokers/topics/first
- 觸發Controller的監聽程序
- kafka Controller 負責topic的創建工作,並更新metadata cache
topic的分區數可不可以增加?如果可以怎麼增加?如果不可以,那又是爲什麼?
可以增加
bin/kafka-topics.sh --zookeeper localhost:2181/kafka --alter --topic topic-config --partitions 3
topic的分區數可不可以減少?如果可以怎麼減少?如果不可以,那又是爲什麼?
不可以減少,被刪除的分區數據難以處理
Kafka有內部的topic嗎?如果有是什麼?有什麼所用?
__consumer_offsets,保存消費者offset
Kafka分區分配的概念?
一個topic多個分區,一個消費者組多個消費者,故需要將分區分配個消費者(roundrobin、range)
簡述Kafka的日誌目錄結構?
每個分區對應一個文件夾,文件夾的命名爲topic-0,topic-1,內部爲.log和.index文件
如果我指定了一個offset,Kafka Controller怎麼查找到對應的消息?
聊一聊Kafka Controller的作用?
負責管理集羣broker的上下線,所有topic的分區副本分配和leader選舉等工作
Kafka中有那些地方需要選舉?這些地方的選舉策略又有哪些?
partition leader(ISR),controller(先到先得)
失效副本是指什麼?有那些應對措施?
不能及時與leader同步,暫時踢出ISR,等其追上leader之後再重新加入
Kafka的那些設計讓它有如此高的性能?
分區,順序寫磁盤,0-copy
簡書:https://www.jianshu.com/u/0278602aea1d
CSDN:https://blog.csdn.net/u012387141