天天看點

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

Kafka面試題——20道Kafka知識點
點選圖檔或戳我檢視詳情和投履歷

本篇給大家總結了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消息重複問題?

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

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