經典面試題-Kafka
第 7 章 Kafka 面試題
7.1 面試問題
- Kafka 中的 ISR(InSyncRepli)、OSR(OutSyncRepli)、AR(AllRepli)代表什麼?
- Kafka 中的 HW、LEO 等分別代表什麼?
- Kafka 中是怎麼體現消息順序性的?
- Kafka 中的分區器、序列化器、攔截器是否了解?它們之間的處理順序是什麼?
- Kafka 生產者客戶端的整體結構是什麼樣子的?使用了幾個線程來處理?分別是什麼?
- 「消費組中的消費者個數如果超過 topic 的分區,那麼就會有消費者消費不到數據」這句話是否正確?
- 消費者提交消費位移時提交的是當前消費到的最新消息的 offset 還是 offset+1?
- 有哪些情形會造成重複消費?
- 那些情景會造成消息漏消費?
- 當你使用 kafka-topics.sh 創建(刪除)了一個 topic 之後,Kafka 背後會執行什麼邏輯?
1)會在 zookeeper 中的/brokers/topics 節點下創建一個新的 topic 節點,如:/brokers/topics/first 2)觸發 Controller 的監聽程序 3)kafka Controller 負責 topic 的創建工作,並更新 metadata cache
- topic 的分區數可不可以增加?如果可以怎麼增加?如果不可以,那又是為什麼?
- topic 的分區數可不可以減少?如果可以怎麼減少?如果不可以,那又是為什麼?
- Kafka 有內部的 topic 嗎?如果有是什麼?有什麼所用?
- Kafka 分區分配的概念?
- 簡述 Kafka 的日誌目錄結構?
- 如果我指定了一個 offset,Kafka Controller 怎麼查找到對應的消息?
- 聊一聊 Kafka Controller 的作用?
- Kafka 中有那些地方需要選舉?這些地方的選舉策略又有哪些?
- 失效副本是指什麼?有那些應對措施?
- Kafka 的哪些設計讓它有如此高的性能?