kafka初步介紹

kafka是什麼

    kafka是一個吞吐量分佈式發佈訂閱消息系統。

 

kafka數據結構

    我們以關係型數據庫爲例子,toppic好比數據表,partition好比數據庫分區,每個分區下面是每條消息(數據)。

 

kafka集羣結構

    controller選取方法:誰先在zookeeper創建元數據,誰就是controller;

    controller與follower區別:

        controller和follower都會監聽zookeeper,controller出問題,follower會競爭controller;

        controller用於同步元數據,比如,創建topic時,主題元數據會存儲在zookeeper和controller中,follower會從controller同步元數據,所以整個系統都存儲了元數據;

    數據安全性實現:每個partition都有主和從,從用於同步數據保證數據安全,主用於讀寫,供消費者生產者使用;

    數據位置記錄:生產offset、消費offset,生產者和消費者會對其offset進行操作

      

kafka能力分析:

    kafka是高併發,高性能,高可用的消息系統;

    高可用:我們從上面的broker的controller、follower以及partition的replica可以看出他的高可用性;

    高併發:網絡模塊處理,達到高併發效果;

    高性能:在高併發的前提下,我們需要高性能才能維護高併發,通過高效利用CPU,內存,硬盤達到效果;

 

kafka模塊分析:

    網絡模塊:NIO模型配合reactor模式

    num.io.threads handler線程數目

    num.network.threads processor線程數目

 

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