Kafka 面試題

1.Kafka中的ISRAR表明什麼?

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

AR:分區的全部副本性能

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

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

HW:一個分區中全部副本最小的offset設計

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

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

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

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

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

Kafka 入门

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

正確code

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

offset+1blog

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

1568912471238

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

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

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的那些設計讓它有如此高的性能?

分區

順序寫磁盤

零拷貝

相關文章
相關標籤/搜索