Kafka面試題——20道Kafka知識點

奈學教育發表於2020-06-29

本篇給大家總結了20道Kafka知識點或者說面試題,持續更新中...

1.kafka的3個關鍵功能?

釋出和訂閱記錄流,類似於訊息佇列或企業訊息傳遞系統。

以容錯的持久方式儲存記錄流。

處理記錄流。

2.kafka通常用於兩大類應用?

建立實時流資料管道,以可靠地在系統或應用程式之間獲取資料

構建實時流應用程式,以轉換或響應資料流

3.kafka特性?

訊息持久化

高吞吐量

擴充套件性

多客戶端支援

Kafka Streams

安全機制

資料備份

輕量級

訊息壓縮

4.kafka的5個核心Api?

Producer API

Consumer API

Streams API

Connector API

Admin API

5.什麼是Broker(代理)?

Kafka叢集中,一個kafka例項被稱為一個代理(Broker)節點。

6.什麼是Producer(生產者)?

訊息的生產者被稱為Producer。Producer將訊息傳送到叢集指定的主題中儲存,同時也自定義演算法決定將訊息記錄傳送到哪個分割槽?

7.什麼是Consumer(消費者)?

訊息的消費者,從kafka叢集中指定的主題讀取訊息。

8.什麼是Topic(主題)?

主題,kafka透過不同的主題卻分不同的業務型別的訊息記錄。

9.什麼是Partition(分割槽)?

每一個Topic可以有一個或者多個分割槽(Partition)。

10.什麼是副本(Replication)?

每個主題在建立時會要求制定它的副本數(預設1)。

11.什麼是記錄(Record)?

實際寫入到kafka叢集並且可以被消費者讀取的資料。每條記錄包含一個鍵、值和時間戳。

12.kafka適合哪些場景?

日誌收集、訊息系統、活動追蹤、運營指標、流式處理、時間源等。

13.kafka磁碟選用上?

SSD的效能比普通的磁碟好,這個大家都知道,實際中我們用普通磁碟即可。它使用的方式多是順序讀寫操作,一定程度上規避了機械磁碟最大的劣勢,即隨機讀寫操作慢,因此SSD的沒有太大優勢。

14.使用RAID的優勢?

提供冗餘的磁碟儲存空間

提供負載均衡

15.磁碟容量規劃需要考慮到幾個因素?

新增訊息數

訊息留存時間

平均訊息大小

備份數

是否啟用壓縮

16.Broker使用單個?多個檔案目錄路徑引數?

log.dirs 多個log.dir 單個

17.一般來說選擇哪個引數配置路徑?好處?

log.dirs好處:提升讀寫效能,多塊物理磁碟同時讀寫高吞吐。故障轉移。一塊磁碟掛了轉移到另一個上。

18.自動建立主題的相關引數是?

auto.create.topics.enable

19.解決kafka訊息丟失問題?

不要使用 producer.send(msg),而要使用 producer.send(msg, callback)。

設定 acks = all。

設定 retries 為一個較大的值。

設定 unclean.leader.election.enable = false。

設定 replication.factor >= 3。

設定 min.insync.replicas > 1。

確保 replication.factor > min.insync.replicas。

確保訊息消費完成再提交。

20.kafka訊息重複問題?

做好冪等。資料庫方面可以(唯一鍵和主鍵)避免重複。在業務上做控制。

本文來源於:奈學開發者社群

如有侵權請聯絡我刪除。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69976011/viewspace-2701215/,如需轉載,請註明出處,否則將追究法律責任。

相關文章