kafka使用筆記

1、Segment的概念?
一個分區被分成相同大小數據條數不相等的segment,
每個segment由多個index文件和數據文件(.log)組成

2、數據的存儲機制?
首先是Broker接收到數據後,將數據放到操作系統(linux)的緩存裏(pagecache),
pagecache會儘可能多的使用空閒內存,
使用sendfile技術儘可能多的減少操作系統和應用程序之間進行重複緩存,
寫入數據的時候使用順序寫入,速度可達600m/s

3、Consumer是怎麼解決負載均衡的?
    1)獲取consumer消費的起始分區號
    2)計算出consumer要消費的分區數量
    3)用起始分區號的hashCode值模餘分區數
    
4、數據的分發策略?
kafka默認調用自己默認的分區器(DefaultPartitioner),
也可以自定義分區器,需要實現Partitioner特質,實現partition方法

5、kafka是怎麼保證數據不丟失的?
kafka接收到數據後會根據創建的topic指定的副本數來存儲,
也就是多副本機制保證數據的安全性

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