kafka階段學習小結(面試)

kafka階段學習小結(面試)

https://blog.csdn.net/qq_28900249/article/details/90346599
主要是借鑑這篇文章的一些問題,做一個小總結,每回看到這些題都要好好思考一下。

1.請說明什麼是Apache Kafka?

2.爲什麼要使用kafka,爲什麼要使用消息隊列

3.kafka中的ISR,AR又代表什麼?ISR的伸縮又指什麼?

4.kafka中的broker是幹什麼的?

5.kafka中的zookeeper起到什麼作用,可以不用zookeeper嗎?

6.kafka follower如何與leader同步

7.什麼情況下一個broker會從isr中踢出去

8.kafka爲什麼那麼快

9.kafka producer如何優化打入數據

10.kafka producer發送消息,ack 爲0,1,-1的時候代表啥,設置-1的時候,什麼情況下,leader會認爲一條消息commit

11.kafka中consumer group是什麼概念?

12.kafka中的消息是否會丟失和重複消費?

13.爲什麼kafka不支持讀寫分離?

14.kafka中是怎麼體現消息順序性的?

其他一些問題
https://blog.verysu.com/article/417

  1. 請說明什麼是Apache kafka?
  2. 說說kafka的使用場景?
  3. 使用kafka有什麼優點和缺點?
  4. 使用kafka性能很好,體現在哪裏?
  5. 請說明什麼是傳統的消息傳遞方式?
  6. 請說明kafka相對傳統技術有什麼優勢?
  7. 解釋kafka的zookeeper是什麼?我們可以在沒有Zookeeper的情況下使用kafka嗎?
  8. 解釋kafka用戶如何消費消息?
  9. 解析如何提高遠程用戶的吞吐量?
  10. 解釋一下,在數據製作過程中,你如何能從kafka得到準確的消息?
  11. 解釋如何減少isr中的擾動?broker什麼時候離開isr?
  12. kafka爲什麼需要複製?
  13. 如果副本在isr中停留了很長時間表明什麼?
  14. 請說明如果首選的副本不在isr中會發生什麼?
  15. 有可能在生產後發生消息偏移嗎?
  16. kafka的設計是什麼樣的呢?
  17. 數據傳輸的事務定義有哪三種?
  18. kafka判斷一個節點是否還活着有連個條件?
  19. producer是否直接將數據發送到broker的leader(主節點)?
  20. kafka consumer是否可以消費指定分區消息?
  21. kafka消息採用pull模式還是push模式

1. kafka裏面用的什麼方式消費數據,拉的方式還是推的方式?
拉的方式:有消費者控制消費速率
2. 爲什麼用kafka?kafka是如何存數據的?
kafka將數據按照不同的分類存儲在不同的topic中(人爲分類),Topic中有分區(partition)以及副本(replication)的概念。在每個分區中(即一個目錄中),會存儲爲一個個segment文件(即.log文件)和index文件
3. kafka元數據存在哪裏
Zookeeper:有如下一些節點/controller,/cluster,/consumer,/broker
4. 如何保證數據不會出現丟失或者重複消費的情況?做過哪些預防措施,怎麼解決以上問題的?
數據丟失問題:同步發送數據:ACK=-1(all)
重複消費問題:自己維護offset避免重複消費的問題(低級api)
5.如何提高kafka的消費速度
增加分區和消費者
增加拉取數據的大小
增大批處理的大小
6.爲什麼kafka可以實現高吞吐?單節點kafka的吞吐量比其他消息隊列大,爲什麼?

  • 零拷貝(zero-copy):減少或消除數據拷貝
  • 順寫日誌:順序寫磁盤的效率比隨機寫高
  • 分段日誌:日誌存儲是分段的segment,其中對每一個分段還會有一個索引,利用二分查找,速率高
  • 批處理:讀寫時客戶端會維護一個Batch
  • 壓縮:數據可壓縮,傳輸效率高

7 .kafka原理,isr中什麼情況下brokerid會消失?
副本down掉,網絡阻塞
log(數據落後):低版本有replica.lag.time.max.ms和replica.lag.max.messages屬性決定,高版本只有replica.lag.max.messages這個參數
8.kafka消費用的高級API,低級API

高級:KafkaConsumer
poll(獲取數據的方法)
低級:核心類SimpleConsumer
send(發送獲得元數據的請求)
fetch(發送抓取數據的請求)

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