kafka學(xué)習(xí)筆記-深入kafka內(nèi)核

參考:極客時(shí)間-Kafka核心技術(shù)與實(shí)戰(zhàn)
內(nèi)容:kafka副本機(jī)制蜗帜、消費(fèi)者重平衡缴淋、kafka控制器旱函、消息可見性(高水位)响巢。

1. kafka副本機(jī)制

副本機(jī)制的好處:

  1. 提供數(shù)據(jù)冗余
  2. 提供高伸縮性
  3. 改善數(shù)據(jù)局部性

副本定義:

只能追加寫消息的提交日志。

副本角色:

基于領(lǐng)導(dǎo)者(Leader-based)的副本機(jī)制棒妨。

  1. 副本分成兩類:領(lǐng)導(dǎo)者副本(Leader Replica)和追隨者副本(Follower Replica)踪古。
  2. 領(lǐng)導(dǎo)者副本處理所有的請(qǐng)求卵渴,追隨者副本從領(lǐng)導(dǎo)者副本異步拉取消息溜腐。
  3. 領(lǐng)導(dǎo)者副本掛了阱驾,追隨者副本會(huì)被選舉成新的領(lǐng)導(dǎo)者恨统。

基于領(lǐng)導(dǎo)者副本機(jī)制的好處:

  1. 方便實(shí)現(xiàn)“Read-your-writes”
  2. 方便實(shí)現(xiàn)單調(diào)讀(Monotonic Reads)

In-sync Replicas(ISR):

  1. Leader副本在ISR副本集合中
  2. Follower副本落后Leader副本的時(shí)間不超過(guò)replica.lag.time.max.ms。

Unclean領(lǐng)導(dǎo)者選舉:

不在ISR集合中的存活副本可以參與領(lǐng)導(dǎo)者選舉枕扫。

2. 消費(fèi)者組重平衡

觸發(fā)條件:

  1. 組成員數(shù)量發(fā)生變化
  2. 訂閱主題數(shù)量發(fā)生變化
  3. 訂閱主題的分區(qū)數(shù)發(fā)生變化

重平衡通知:

通過(guò)心跳線程陪腌。

消費(fèi)者組狀態(tài)機(jī):

Empty/Dead/PreparingRebalance/CompletingRebalance/Stable

消費(fèi)者端重平衡:

JoinGroup和SyncGroup。

Broker端重平衡場(chǎng)景剖析:

新成員加入組烟瞧、組成員主動(dòng)離組诗鸭、組成員崩潰離組、組成員提交位移参滴。

3. Kafka控制器

作用:

在Apache Zookeeper的幫助下管理和協(xié)調(diào)整個(gè)kafka集群强岸。

選舉方式:

第一個(gè)成功創(chuàng)建/controller節(jié)點(diǎn)的broker。

職責(zé):

  1. 主題管理(創(chuàng)建砾赔、刪除蝌箍、增加分區(qū))
  2. 分區(qū)重分配
  3. Preferred領(lǐng)導(dǎo)者選舉
  4. 集群成員管理(新增Broker、Broker主動(dòng)關(guān)閉暴心、Broker宕機(jī))
  5. 數(shù)據(jù)服務(wù)

故障轉(zhuǎn)移:

當(dāng)運(yùn)行中的控制器突然宕機(jī)或意外終止妓盲,Kafka能夠快速的感知到,并立即啟用備用控制器來(lái)代替之前失敗的控制器酷勺。

重建zookeeper的/controller節(jié)點(diǎn)本橙。

4. 高水位

作用:

  1. 定義消息可見性扳躬,用來(lái)標(biāo)識(shí)分區(qū)下哪些消息可以被消費(fèi)者消費(fèi)脆诉。
  2. 幫組kafka完成副本同步。

高水位更新機(jī)制:

currentHW = max{currentHW, min(RemoteReplica1-LEO, RemoteReplica2-LEO, ...)}

副本同步機(jī)制:

Leader副本和Follower副本對(duì)應(yīng)的高水位如何更新贷币。

img
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末击胜,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子役纹,更是在濱河造成了極大的恐慌偶摔,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件促脉,死亡現(xiàn)場(chǎng)離奇詭異辰斋,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)瘸味,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門宫仗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人旁仿,你說(shuō)我怎么就攤上這事藕夫。” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵毅贮,是天一觀的道長(zhǎng)办悟。 經(jīng)常有香客問(wèn)我,道長(zhǎng)滩褥,這世上最難降的妖魔是什么病蛉? 我笑而不...
    開封第一講書人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮铸题,結(jié)果婚禮上铡恕,老公的妹妹穿的比我還像新娘。我一直安慰自己丢间,他們只是感情好探熔,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著烘挫,像睡著了一般诀艰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上饮六,一...
    開封第一講書人閱讀 49,071評(píng)論 1 285
  • 那天其垄,我揣著相機(jī)與錄音,去河邊找鬼卤橄。 笑死绿满,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的窟扑。 我是一名探鬼主播喇颁,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼嚎货!你這毒婦竟也來(lái)了橘霎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤殖属,失蹤者是張志新(化名)和其女友劉穎姐叁,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體洗显,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡外潜,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了挠唆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片处窥。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖损搬,靈堂內(nèi)的尸體忽然破棺而出碧库,到底是詐尸還是另有隱情柜与,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布嵌灰,位于F島的核電站弄匕,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏沽瞭。R本人自食惡果不足惜迁匠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望驹溃。 院中可真熱鬧城丧,春花似錦、人聲如沸豌鹤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)布疙。三九已至蚊惯,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間灵临,已是汗流浹背截型。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留儒溉,地道東北人宦焦。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像顿涣,于是被迫代替她去往敵國(guó)和親波闹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345