Kafka 架構模型

2022-06-29 05:45:12 字數 2099 閱讀 7732

基於producer  consumer  topic  broker  等的乙個基本架

kafka的元件介紹

topic :訊息根據topic進行歸類

producer:傳送訊息者

consumer:訊息接受者

broker:每個kafka例項(server)

zookeeper:依賴集群儲存meta資訊。

topics元件介紹

topic:一類訊息,每個topic將被分成多個partition(區),在集群的配置檔案中配置。

segement:訊息儲存的真實檔案,會不斷生成新的。

offset:每條訊息在檔案中的位置(偏移量)。offset為乙個long型數字,它是唯一標記一條訊息。

partition

2、             任何發布到此partition的訊息都會被直接追加到log檔案的尾部。

3、             每個partition在記憶體中對應乙個index列表,記錄每個segment中的第一條訊息偏移。這樣查詢訊息的時候,先在index列表中定位訊息位置,再讀取檔案,速度塊。

4、             發布者發到某個topic的訊息會被均勻的分布到多個part上,broker收到發布訊息往對應part的最後乙個segment上新增該訊息。

partition分布

1、             partitions分割槽到不同的server上,乙個partition儲存在乙個server上,避免乙個server上的檔案過大,同時可以容納更多的consumer消費,有效提公升併發消費的能力。

2、             這個server(如果儲存的是partition的leader)負責partition的讀寫。可以配置備份。

3、             每個partition都有乙個server為"leader",負責讀寫,其餘的相對備份機為follower,follower同步leader資料,負責leader死了之後的接管。n個leader均衡的分散在每個server上。

4、             partition的leader和follower之間監控通過zookeeper完成。

1、             每個segment中儲存多條訊息,訊息id由其邏輯位置決定,即從訊息id可直接定位到訊息的儲存位置,避免id到位置的額外對映。

2、             當某個segment上的訊息條數達到配置值或訊息發布時間超過閾值時,segment上的訊息會被flush到磁碟,只有flush到磁碟上的訊息訂閱者才能訂閱到

3、             segment達到一定的大小(可以通過配置檔案設定,預設1g)後將不會再往該segment寫資料,broker會建立新的segment。

offset

offset是每條訊息的偏移量。

segment日誌檔案中儲存了一系列"log entries"(日誌條目),每個log entry格式為"4個位元組的數字n表示訊息的長度" + "n個位元組的訊息內容";

每個日誌檔案都有乙個offset來唯一的標記一條訊息,offset的值為8個位元組的數字,表示此訊息在此partition中所處的起始位置.

每個partition在物理儲存層面,有多個log file組成(稱為segment).

segment file的命名為"最小offset".log.例如"00000000000.log";其中"最小offset"表示此segment中起始訊息的offset.

Tomcat架構模型

我考慮我還是先發布,最起碼有點虛榮感或者說成就感,啊哈哈哈,未修改版本,後面會有重新整理,然後修訂,再去掉這句話 參考 tomcat架構解析 直接來看一下url圖把,這裡其實很多都忘記了,就先簡單介紹一下每個類的功能。接收其他計算機 客戶端 發來的請求資料並進行解析,完成相關業務處理,然後把資料處理...

hadoop的架構模型

1.x的版本架構模型介紹 檔案系統核心模組 namenode 集群當中的主節點,管理元資料 檔案的大小,檔案的位置,檔案的許可權 主要用於管理集群當中的各種資料 seconddarynamenode 主要能用於hadoop當中元資料資訊的輔助管理 datanode 集群當中的從節點,主要用於儲存集群...

hadoop的架構模型

資料 於網路 檔案系統核心模組 namenode 集群當中的主節點,主要用於管理集群當中的各種資料 secondarynamenode 主要能用於hadoop當中元資料資訊的輔助管理 datanode 集群當中的從節點,主要用於儲存集群當中的各種資料 資料計算核心模組 jobtracker 接收使用...