Kafka學習筆記

一些基本概念

Kafka 屬于分布式的消息引擎系統(tǒng)。
消息:Record绽快。Kafka 是消息引擎嘛芥丧,這里的消息就是指 Kafka 處理的主要對象。
主題:Topic坊罢。主題是承載消息的邏輯容器续担,在實際使用中多用來區(qū)分具體的業(yè)務。
分區(qū):Partition活孩。一個有序不變的消息序列物遇。每個主題下可以有多個分區(qū)。
消息位移:Offset。表示分區(qū)中每條消息的位置信息询兴,是一個單調(diào)遞增且不變的值乃沙。
副本:Replica。Kafka 中同一條消息能夠被拷貝到多個地方以提供數(shù)據(jù)冗余诗舰,這些地方就是所謂的副本警儒。副本還分為領導者副本和追隨者副本,各自有不同的角色劃分眶根。副本是在分區(qū)層級下的蜀铲,即每個分區(qū)可配置多個副本實現(xiàn)高可用。
生產(chǎn)者:Producer属百。向主題發(fā)布新消息的應用程序记劝。
消費者:Consumer。從主題訂閱新消息的應用程序族扰。
消費者位移:Consumer Offset厌丑。表征消費者消費進度,每個消費者都有自己的消費者位移别伏。
消費者組:Consumer Group蹄衷。多個消費者實例共同組成的一個組忧额,同時消費多個分區(qū)以實現(xiàn)高吞吐厘肮。
重平衡:Rebalance。消費者組內(nèi)某個消費者實例掛掉后睦番,其他消費者實例自動重新分配訂閱主題分區(qū)的過程类茂。Rebalance 是 Kafka 消費者端實現(xiàn)高可用的重要手段。

Kafka的三層消息架構(gòu)

第一層是主題層托嚣,每個主題可以配置 M 個分區(qū)巩检,而每個分區(qū)又可以副本成 N 個副本。
第二層是分區(qū)層示启,每個分區(qū)的 N 個副本中只能有一個充當領導者角色兢哭,對外提供服務;其他 N-1 個副本是追隨者副本夫嗓,只是提供數(shù)據(jù)冗余之用迟螺。
第三層是消息層,分區(qū)中包含若干條消息舍咖,每條消息的位移從 0 開始矩父,依次遞增。
最后排霉,客戶端程序只能與分區(qū)的領導者副本進行交互窍株。


image.png
Kafka Broker 是如何持久化數(shù)據(jù)的

總的來說,Kafka 使用消息日志(Log)來保存數(shù)據(jù),一個日志就是磁盤上一個只能追加寫(Append-only)消息的物理文件球订。因為只能追加寫入后裸,故避免了緩慢的隨機 I/O 操作,改為性能較好的順序I/O 寫操作冒滩,這也是實現(xiàn) Kafka 高吞吐量特性的一個重要手段轻抱。
不過如果你不停地向一個日志寫入消息,最終也會耗盡所有的磁盤空間旦部,因此 Kafka 必然要定期地刪除消息以回收磁盤祈搜。怎么刪除呢?簡單來說就是通過日志段(Log Segment)機制士八。在 Kafka 底層容燕,一個日志又近一步細分成多個日志段,消息被追加寫到當前最新的日志段中婚度,當寫滿了一個日志段后蘸秘,Kafka 會自動切分出一個新的日志段,并將老的日志段封存起來蝗茁。Kafka 在后臺還有定時任務會定期地檢查老的日志段是否能夠被刪除醋虏,從而實現(xiàn)回收磁盤空間的目的。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末哮翘,一起剝皮案震驚了整個濱河市颈嚼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌饭寺,老刑警劉巖阻课,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異艰匙,居然都是意外死亡限煞,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進店門员凝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來署驻,“玉大人,你說我怎么就攤上這事健霹⊥希” “怎么了?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵骤公,是天一觀的道長抚官。 經(jīng)常有香客問我,道長阶捆,這世上最難降的妖魔是什么凌节? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任钦听,我火速辦了婚禮,結(jié)果婚禮上倍奢,老公的妹妹穿的比我還像新娘朴上。我一直安慰自己,他們只是感情好卒煞,可當我...
    茶點故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布痪宰。 她就那樣靜靜地躺著,像睡著了一般畔裕。 火紅的嫁衣襯著肌膚如雪衣撬。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天扮饶,我揣著相機與錄音具练,去河邊找鬼。 笑死甜无,一個胖子當著我的面吹牛扛点,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播岂丘,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼陵究,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了奥帘?” 一聲冷哼從身側(cè)響起铜邮,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎翩概,沒想到半個月后牲距,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體返咱,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡钥庇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了咖摹。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片评姨。...
    茶點故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖萤晴,靈堂內(nèi)的尸體忽然破棺而出吐句,到底是詐尸還是另有隱情,我是刑警寧澤店读,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布嗦枢,位于F島的核電站,受9級特大地震影響屯断,放射性物質(zhì)發(fā)生泄漏文虏。R本人自食惡果不足惜侣诺,卻給世界環(huán)境...
    茶點故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望氧秘。 院中可真熱鬧年鸳,春花似錦、人聲如沸丸相。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽灭忠。三九已至膳算,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間弛作,已是汗流浹背畦幢。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留缆蝉,地道東北人宇葱。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像刊头,于是被迫代替她去往敵國和親黍瞧。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,860評論 2 361

推薦閱讀更多精彩內(nèi)容

  • (二)kafka的架構(gòu)中的主要角色 A. topic 定義:producer傾倒數(shù)據(jù)時最宏觀的目標對象即為topi...
    Mr_Chiang閱讀 381評論 0 1
  • kafka是一個分布式的基于發(fā)布/訂閱模式的消息隊列(Message Queue)原杂,主要應用于大數(shù)據(jù)實時處理領域印颤。...
    dev_winner閱讀 533評論 0 2
  • 0. 背景 本文簡述 kafka 的相關內(nèi)容。 1. 簡介 Kafka 是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng)穿肄。 ...
    張云飛Vir閱讀 338評論 0 0
  • 參考:極客時間-Kafka核心技術與實戰(zhàn)內(nèi)容:kafka副本機制年局、消費者重平衡、kafka控制器咸产、消息可見性(高水...
    瘋狂豬寶寶閱讀 271評論 0 0
  • 1.簡介 kafka是一個分布式的流平臺矢否,一個流平臺有以下三個能力: 發(fā)布和訂閱記錄流,就像一個消息隊列或者企業(yè)級...
    第八共同體閱讀 607評論 0 0