
本篇給大家總結了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消息重複問題?
做好幂等。資料庫方面可以(唯一鍵和主鍵)避免重複。在業務上做控制。
本文來源于:奈學開發者社群