kafka詳解 - 選舉和消費機(jī)制

kafka的選舉機(jī)制

1.控制器(Broker)選舉

  • 在一個kafka集群中,有多個broker節(jié)點,所有的Kakfa Broker集群受Zookeeper管理。第一個啟動的broker會通過在zookeeper中創(chuàng)建臨時節(jié)點/controller來讓自己成為控制器侈询,其他broker啟動時也會在zookeeper中創(chuàng)建臨時節(jié)點,如果已經(jīng)存在了一個控制器,那么就會在zookeeper中創(chuàng)建watch對象(也叫Kafka Broker follower)牡昆,便于它們收到控制器變更的通知,當(dāng)一個broker control 控制器發(fā)生了宕機(jī)摊欠,所有的Broker follower 都會收到通知丢烘,就會去Zookeeper 上注冊一個Broker Controller 柱宦,但是只有一個會注冊成功,其他的依舊都會失敗播瞳,這個成功在Zookeeper上注冊臨時節(jié)點的這個Kafka Broker會成為Kafka Broker Controller

2.分區(qū)副本選舉機(jī)制

  • 在kafka的集群中掸刊,會存在著多個主題topic,在每一個topic中赢乓,又被劃分為多個partition忧侧,為了防止數(shù)據(jù)不丟失,每一個partition又有多個副本.
  • 分區(qū)使用多副本機(jī)制來主要是提升可靠性骏全,一點有副本掛了苍柏,就會選擇一個新的分區(qū)副本成為leader,只有 leader 副本對外提供讀寫服務(wù)姜贡,而 follower 副 本只負(fù)責(zé)在內(nèi)部進(jìn)行消息的同步试吁。如果一個分區(qū)的 leader 副本不可用,那么就意味著整個分區(qū) 變得不可用 楼咳,此時就需要 Kafka 從剩余的 follower 副本中挑選一個新的 leader 副本來繼續(xù)對外 提供服務(wù)熄捍。雖然不夠嚴(yán)謹(jǐn),但從某種程度上說 母怜, broker 節(jié)點中 leader 副本個數(shù)的多少決定了這 個節(jié)點負(fù)載的高低余耽。

3.消費組選舉

  • 在kafka的消費端,會有一個消費者協(xié)調(diào)器以及消費組苹熏,組協(xié)調(diào)器GroupCoordinator需要為消費組內(nèi)的消費者選舉出一個消費組的leader
  • 如果消費組內(nèi)還沒有l(wèi)eader碟贾,那么第一個加入消費組的消費者即為消費組的leader,如果某一個時刻leader消費者由于某些原因退出了消費組轨域,那么就會重新選舉leader袱耽。

主題和分區(qū)

主題和分區(qū)是 Kafka 的兩個核心概念
主題和分區(qū)是邏輯上的概念,一個主題下可以有N個分區(qū)干发,副本和log 日志文件朱巨, 只有日志層面才是實際無力上的存在。

  • 生產(chǎn)者發(fā)布消息到對應(yīng)的主題用于消費者訂閱消費枉长,訂閱者并且從訂閱的主題上拉去信息冀续,當(dāng)消息發(fā)布到主題后,只會被投遞到訂閱它的消費組的一個消費者中必峰。

消費者與消費組

消費者( Consumer)負(fù)責(zé)訂閱 Kafka 中的主題( Topic)洪唐,并且從訂閱的主題上拉取消息。 與其他一些消息中間件不同的是:在 Kafka 的消費理念中還有一層消費組( Consumer Group) 的概念吼蚁,每個消費者都有 一個對應(yīng)的消費組, 兩個消費組之間互不影響凭需。 每個消費者只能消費所分配到的分區(qū)中的消息。換言之 ,每一個分區(qū)只能被一個消費組中的一 個消費者所消費 功炮。一般情況下,消費組的消費者數(shù)量小于訂閱主題中的分區(qū)數(shù)量术唬,否則會導(dǎo)致有消費者永遠(yuǎn)無法消費到分區(qū)的消息薪伏。

點對點 CP2P, Point-to-Point)模式和發(fā) 布/訂閱( Pub/Sub)模式

  • 如果所有的消費者都隸屬于同 一個消費組,那么所有的消息都會被均衡地投遞給每 一 個消費者粗仓,即 每條消息只會被一個 消費者處 理嫁怀,這就相當(dāng)于點對點模式 的應(yīng)用 。

  • 如果所有的消費者都隸屬于不同的消費組借浊,那么所有的消息都會被廣播給所有的消費 者塘淑,即每條消息會被所有的消費者處理,這就相當(dāng)于發(fā)布/訂閱模式的應(yīng)用 蚂斤。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末存捺,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子曙蒸,更是在濱河造成了極大的恐慌捌治,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件纽窟,死亡現(xiàn)場離奇詭異肖油,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)臂港,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進(jìn)店門森枪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人审孽,你說我怎么就攤上這事县袱。” “怎么了瓷胧?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵显拳,是天一觀的道長。 經(jīng)常有香客問我搓萧,道長杂数,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任瘸洛,我火速辦了婚禮揍移,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘反肋。我一直安慰自己那伐,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著罕邀,像睡著了一般畅形。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上诉探,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天日熬,我揣著相機(jī)與錄音,去河邊找鬼肾胯。 笑死竖席,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的敬肚。 我是一名探鬼主播毕荐,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼艳馒!你這毒婦竟也來了憎亚?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤鹰溜,失蹤者是張志新(化名)和其女友劉穎虽填,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體曹动,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡斋日,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了墓陈。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恶守。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖贡必,靈堂內(nèi)的尸體忽然破棺而出兔港,到底是詐尸還是另有隱情,我是刑警寧澤仔拟,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布衫樊,位于F島的核電站,受9級特大地震影響利花,放射性物質(zhì)發(fā)生泄漏科侈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一炒事、第九天 我趴在偏房一處隱蔽的房頂上張望臀栈。 院中可真熱鬧,春花似錦挠乳、人聲如沸权薯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽盟蚣。三九已至黍析,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間屎开,已是汗流浹背橄仍。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留牍戚,地道東北人。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓虑粥,卻偏偏與公主長得像如孝,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子娩贷,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,933評論 2 355

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