Kafka Kafka核心理解 分布式機制

2021-08-11 12:48:21 字數 1072 閱讀 8837

乙個topic中的所有資料分布式的儲存在kafka集群的所有機器(broker)上,以分割槽(partition)的的形式進行資料儲存;每個分割槽允許存在備份資料/備份分割槽

(儲存在同一kafka集群的其它broker上的分割槽)

每個資料分割槽在kafka集群中存在乙個broker節點上的分割槽叫做leader,儲存在其它broker上的備份分割槽叫做followers;只有leader節點負責該分割槽的資料讀寫操作,followers節點作為leader節點的熱備節點,從leader節點備份資料;當leader節點掛掉的時候,followers節點中會有乙個節點變成leader節點,重新提供服務

kafka集群的partition的leader和followers切換依賴zookeeper

kafka分布式保證的第乙個特性就是:kafka的replication

kafka的replication指的是partition的複製,乙個partition的所有分割槽中只有乙個分割槽是leader節點,其它分割槽是follower節點。

replication對kafka的吞吐率有一定的影響,但是極大的增強了可用性

follower節點會定時的從leader節點上獲取增量資料,乙個活躍的follower節點必須滿足一下兩個條件:

1. 所有的節點必須維護和zookeeper的連線(通過zk的heartbeat實現)

2. follower必須能夠及時的將leader上的writing複製過來,不能「落後太多」; 「落後太多」由引數和決定

kafka分布式保證的第二個特性就是:kafka leader election

kafka提供了乙個in-sync replicas(isr)來確保kafka的leader選舉,isr是乙個儲存分割槽node的集合,如果乙個node宕機了或資料「落後太多」,leader會將該node節點從isr中移除,只有isr中的follower節點才有可能成為leader節點

leader節點的切換基於zookeeper的watcher機制,當leader節點宕機的時候,其他isr中的follower節點會競爭的在zk中建立乙個檔案目錄(只會有乙個follower節點建立成功),建立成功的follower節點成為leader節點

uC OS ii核心理解 二

start task任務描述 start task函式體主要做了三類事 1 bsp initializes 初始化應用底層一些帶啊 2 ostick init 滴答時鐘初始化,這個屬於系統級。3 ostaskcreate 建立子任務。4 掛起起始任務 ostasksuspend start task...

linux核心理解初步

b 核心組成部分 b 系統呼叫介面 1,程序管理 2,記憶體管理 3,檔案管理。vfs 4,網路管理。架構和硬體 5,裝置驅動。b bootloader啟動大多數都分為兩個階段 b 第一階段主要包含依賴於cpu的體系結構硬體初始化的 通常都用組合語言來實現。這個階段的任務有 基本的硬體裝置初始化 遮...

kafka kafka簡單概念理解

kafka官方介紹是分布式的流處理平台,理解上比較難。先簡單理解為一種分布式的支援發布訂閱的高可用訊息佇列 kafka通過topic 主題 對資料分類,每條記錄包含 乙個key,乙個value,乙個時間戳 核心概念 一串流的記錄topic,乙個topic可以有乙個或者多個消費者來訂閱 topic資料...