Kafka 面試題

1.Kafka中的ISRAR代表什麼?

ISR:與leader保持同步的follower集合

AR:分區的所有副本

2.Kafka中的HWLEO分別代表什麼?

LEO:每個副本的最後條消息的offset

HW:一個分區中所有副本最小的offset

3.offset中是怎麼體現消息順序性的?

每個分區內,每條消息都有一個offset,故只能保證分區內有序

4.offset中的分區器、序列化器、攔截器是否瞭解?它們之間的處理順序是什麼?

攔截器 -> 序列化器 -> 分區器

5.Kafka生產者客戶端的整體結構是什麼樣子的?使用了幾個線程來處理?分別是什麼?

Kafka 入门

6.消費組中的消費者個數如果超過Topic的分區,那麼就會有消費者消費不到數據這句話是否正確?

正確

7.消費者提交消費位移時提交的是當前消費到的最新消息的offset還是offset+1

offset+1

8.有哪些情形會造成重複消費?

1568912471238

9.那些情景會造成消息漏消費?

先提交offset,後消費,有可能造成數據的重複

10.當你使用kafka-topics.sh創建了一個Topic之後,Kafka背後會執行什麼邏輯?

會在ZK中的/brokers/topics節點下創建一個新的Topic節點

觸發Controller的監聽程序

Kafka Controller負責Topic的創建工作,並更新metadata cache

11.Topic的分區數可不可以增加?如果可以怎麼增加?如果不可以,那又是爲什麼?

可以增加

bin/kafka-topics.sh --zookeeper localhost:2181/kafka --alter --topic topic-config --partitions 3

12.Topic的分區數可不可以減少?如果可以怎麼減少?如果不可以,那又是爲什麼?

不可以減少,被刪除的分區數據難以處理

13.Kafka有內部的Topic嗎?如果有是什麼?有什麼所用?

__consumer_offsets,保存消費者offset

14.Kafka分區分配的概念?

一個Topic多個分區,一個消費者組多個消費者,故需要將分區分配個消費者(roundrobinrange)

15.簡述Kafka的日誌目錄結構?

每個分區對應一個文件夾,文件夾的命名爲topic-0topic-1,內部爲.log.index文件

16.如果我指定了一個offsetKafka Controller怎麼查找到對應的消息?

Kafka 入门

17.聊一聊Kafka Controller的作用?

負責管理集羣Broker的上下線,所有Topic的分區副本分配和leader選舉等工作

18.Kafka中有那些地方需要選舉?這些地方的選舉策略又有哪些?

partition leader(ISR)

`controller(先到先得)

19.失效副本是指什麼?有那些應對措施?

不能及時與leader同步,暫時踢出ISR,等其追上leader之後再重新加入

20.Kafka的那些設計讓它有如此高的性能?

分區

順序寫磁盤

零拷貝

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章