Kafka核心概念及核心機制

2021-09-09 05:19:31 字數 1021 閱讀 1586

broker: 程序

producer: 生產者 flume

consumer: 消費者 ss (spark streaming,,,)

topic: 主題 分割槽+副本數 資料夾

partition: 分割槽乙個分割槽可以有多個副本

重點解析:

1.乙個組內,共享乙個公共的groupid

2.組內的所有消費者協調一起,去消費topic的所有的分割槽,並且不重複

3.每個分割槽p0只能由乙個消費組a的乙個消費者c1來消費(po只能讓a組的c1消費,不能c2在消費)

4.容錯性的消費機制

有序的 不可變的序列 相當於mysql自增長主鍵

每個分割槽記錄offset 偏移量 都是從1開始

segment: 每個分割槽都是由一系列的segment檔案組

segment: log+index 兩兩出現

命名規則:第一組為00000000000000000000

第二組為00000000000000002000

名稱是由上一組的最後一條訊息的offset來命名

例子:

通過offset為2800對應的訊息

00000000000000000000.index

00000000000000000000.log

00000000000000002000.index

00000000000000002000.log

00000000000000004200.index

00000000000000004200.log

1.log檔案記錄message 全部

2.index檔案記錄 相對offset和對應的訊息的物理偏移量 位元組位置

稀疏儲存

3.2800-2000=800 相對offset 800

platform核心機制

platform 核心機制 guolele 2011.1.21 platform 是2.6 核心新引進的虛擬匯流排,而且現在有很多裝置驅動都是掛載在虛擬匯流排上,特別是幀緩衝裝置都是建立在平台匯流排基礎上,這也使得 lcd等圖形驅動也不可避免的使用平台匯流排,下面簡單分析一下平台匯流排的機制。首先先...

ETCD核心機制解析

etcd整體機制 etcd 是乙個分布式的 可靠的 key value 儲存系統,它適用於儲存分布式系統中的關鍵資料。etcd 集群中多個節點之間通過raft演算法完成分布式一致性協同,演算法會選舉出乙個主節點作為 leader,由 leader 負責資料的同步與分發。當 leader 出現故障後系...

Flask核心機制 current app

flask的request物件是乙個全域性物件,跟django的request不太一樣,django的request物件是每次請求乙個,但是flask全域性就乙個request物件,但是每次請求它能區分開是哪個請求,這個做的挺牛逼的,我去看了一下它的原始碼,原來是寫了乙個local類,來處理不同執行...