銀行系統(tǒng)中的消息分發(fā)利器Kafka(四)

建議從頭閱讀:
銀行系統(tǒng)中的消息分發(fā)利器Kafka(一)
銀行系統(tǒng)中的消息分發(fā)利器Kafka(二)
銀行系統(tǒng)中的消息分發(fā)利器Kafka(三)

這次我們來介紹一下Kafka內(nèi)部是如何實(shí)現(xiàn)高可用的。

上次我們介紹到妆距,Kafka會(huì)把數(shù)據(jù)拆分到不同的Partition中辨萍。以達(dá)到分布式集群管理的目的凯楔。

image

但當(dāng)集群中的部分服務(wù)器故障時(shí)沦泌,怎么辦烙常?

image

為了解決每一個(gè)節(jié)點(diǎn)的單點(diǎn)問題荆永,Kafka內(nèi)部會(huì)把數(shù)據(jù)拷貝多份朝捆,存儲(chǔ)在不同的服務(wù)器中般渡。下圖展示了對(duì)于Partition1(P1)的數(shù)據(jù),我在P2右蹦、P5的服務(wù)器上分別建立了1份拷貝诊杆。

image

當(dāng)所有拷貝過P1的節(jié)點(diǎn),只要期中有一個(gè)是正常工作的何陆,我們就可以正常讀取到數(shù)據(jù)晨汹。

image

在Kafka中,有一個(gè)專門的參數(shù)代表數(shù)據(jù)拷貝的數(shù)量——replication factor贷盲。如果replication factor為3淘这,就意味著在整個(gè)集群中,數(shù)據(jù)有3份拷貝巩剖。

image

一般而言铝穷,會(huì)把replication factor設(shè)置為3,這是一個(gè)比較合理的參數(shù)佳魔,可以充分的容災(zāi)曙聂,也不會(huì)浪費(fèi)太多的服務(wù)器。有一點(diǎn)需要說明的是鞠鲜,replication factor不是針對(duì)Partition的宁脊,而是針對(duì)Topic的,因此如果一個(gè)Topic的replication factor為3贤姆,那就意味著Topic下所有Partition的拷貝數(shù)量都為3榆苞。

下面詳細(xì)解釋一下實(shí)現(xiàn)機(jī)制:Kafka內(nèi),每一個(gè)partition內(nèi)部會(huì)選出一個(gè)Broker作為L(zhǎng)eader霞捡,然后Leader負(fù)責(zé)一切與Producer與Consumer的交互坐漏。

image

當(dāng)我們把replication factor設(shè)置為3時(shí),Kafka就知道每個(gè)Partition的數(shù)據(jù)還要有2份拷貝,因此會(huì)為每個(gè)Partition找到另外兩個(gè)Broker做數(shù)據(jù)備份赊琳。同時(shí)街夭,數(shù)據(jù)會(huì)先存在Leader上,然后同步機(jī)制會(huì)把數(shù)據(jù)從Leader不斷同步到備份用的Broker慨畸。

image

我們?cè)诜?wù)終端的命令行下可以調(diào)出目前的Topic莱坎、Partition衣式,以及副本配置情況寸士。

image

我們看到,上面示例中:

Topic是TestTopicXYZ

PartitionCount是這個(gè)Topic共有多少個(gè)分區(qū)碴卧,示例中共有2個(gè)分區(qū)弱卡,下面列出了兩個(gè)分區(qū)的情況:一個(gè)是Partition0,一個(gè)是Partition1住册。

Replicationfactor是3婶博,說明這個(gè)Topic的所有分區(qū)都有3個(gè)副本,下面列出了Leader節(jié)點(diǎn)是誰:Partition0的Leader節(jié)點(diǎn)是1荧飞,Partition1的leader節(jié)點(diǎn)是2凡人。

最后一列下面展現(xiàn)了整個(gè)Partition的節(jié)點(diǎn)分布情況:Replicas是說明有3個(gè)節(jié)點(diǎn),第一叹阔、第二挠轴、第三分別是誰《保可以看到第一節(jié)點(diǎn)與前面的leader節(jié)點(diǎn)是對(duì)應(yīng)上的岸晦。因?yàn)閘eader節(jié)點(diǎn)就是第一節(jié)點(diǎn),數(shù)據(jù)最先記錄在Leader節(jié)點(diǎn)睛藻,然后同步給第二启上、第三節(jié)點(diǎn)。Isr則是說明三個(gè)節(jié)點(diǎn)中有幾個(gè)節(jié)點(diǎn)目前數(shù)據(jù)已經(jīng)同步了店印,示例中的兩個(gè)Partition冈在,每個(gè)Partition的3個(gè)節(jié)點(diǎn)都展現(xiàn)出來了,說明他們上面的數(shù)據(jù)都已經(jīng)同步了按摘。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末包券,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子院峡,更是在濱河造成了極大的恐慌兴使,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件照激,死亡現(xiàn)場(chǎng)離奇詭異发魄,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門励幼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來汰寓,“玉大人,你說我怎么就攤上這事苹粟∮谢” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵嵌削,是天一觀的道長(zhǎng)毛好。 經(jīng)常有香客問我,道長(zhǎng)苛秕,這世上最難降的妖魔是什么肌访? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮艇劫,結(jié)果婚禮上吼驶,老公的妹妹穿的比我還像新娘。我一直安慰自己店煞,他們只是感情好蟹演,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著顷蟀,像睡著了一般酒请。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上衩椒,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天蚌父,我揣著相機(jī)與錄音,去河邊找鬼毛萌。 笑死苟弛,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的阁将。 我是一名探鬼主播膏秫,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼做盅!你這毒婦竟也來了缤削?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤吹榴,失蹤者是張志新(化名)和其女友劉穎亭敢,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體图筹,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡帅刀,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年让腹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扣溺。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡骇窍,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出锥余,到底是詐尸還是另有隱情腹纳,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布驱犹,位于F島的核電站嘲恍,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏着绷。R本人自食惡果不足惜蛔钙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望荠医。 院中可真熱鬧,春花似錦桑涎、人聲如沸彬向。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽娃胆。三九已至,卻和暖如春等曼,著一層夾襖步出監(jiān)牢的瞬間里烦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來泰國打工禁谦, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留胁黑,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓州泊,卻偏偏與公主長(zhǎng)得像丧蘸,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子遥皂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

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