Kafka架構(gòu)簡介

一、發(fā)布與訂閱系統(tǒng)

在講Kafka之前,我們先來聊聊發(fā)布與訂閱模式。

在維基百科里面彤守,發(fā)布訂閱模式是這么定義的:

In?software architecture,?publish–subscribe?is a?messaging pattern?where senders of?messages, called publishers, do not program the messages to be sent directly to specific receivers, called subscribers, but instead categorize published messages into classes without knowledge of which subscribers, if any, there may be. Similarly, subscribers express interest in one or more classes and only receive messages that are of interest, without knowledge of which publishers, if any, there are.

Publish–subscribe is a sibling of the?message queue?paradigm, and is typically one part of a larger?message-oriented middleware?system. Most messaging systems support both the pub/sub and message queue models in their?API, e.g.?Java Message Service?(JMS).

從上面的介紹可以歸納三點(diǎn):

1.它是軟件工程里的一種設(shè)計(jì)模式。

2.主要存在發(fā)布者和訂閱者兩大角色哭靖,發(fā)布者不需要關(guān)心發(fā)的消息都有誰訂閱具垫,訂閱者只關(guān)心pick哪些消息,而不需要關(guān)心消息是誰發(fā)布试幽。

3.它是消息隊(duì)列范式的姊妹筝蚕,圍繞這個模式產(chǎn)生了許多消息中間件模型。

這里我們舉《Kafka權(quán)威指南》里服務(wù)質(zhì)量指標(biāo)這個例子,來看看常見的發(fā)布訂閱系統(tǒng)長什么樣饰及。首先蔗坯,假設(shè)現(xiàn)在業(yè)務(wù)方需要對幾個前端服務(wù)器的服務(wù)質(zhì)量進(jìn)行檢測康震,這里新增一個可查看度量指標(biāo)的服務(wù)燎含,分別讓幾個前端服務(wù)和這個度量指標(biāo)服務(wù)做直連,我們就可以通過這個新建的“儀表盤”觀察服務(wù)質(zhì)量腿短。


單個直連的度量指標(biāo)發(fā)布者

隨著業(yè)務(wù)發(fā)展屏箍,我們對業(yè)務(wù)的度量標(biāo)準(zhǔn)不斷擴(kuò)大,我們可能不止要一個儀表盤橘忱,還需要對收集到的數(shù)據(jù)進(jìn)行分析赴魁,對活動進(jìn)行監(jiān)控,如果按照上面的思想去對服務(wù)進(jìn)行擴(kuò)展钝诚,那么整個架構(gòu)看起來就很是雜亂無章颖御。


多個直連的度量指標(biāo)發(fā)布者

為了方便管理,降低架構(gòu)的耦合程度凝颇,我們可以增設(shè)一個管理各種指標(biāo)的中間服務(wù)潘拱,負(fù)責(zé)接收來自不同程序的度量指標(biāo)數(shù)據(jù),然后讓各個度量服務(wù)自己來這個中間服務(wù)篩選自己想要的數(shù)據(jù)去進(jìn)行分析拧略。


度量指標(biāo)發(fā)布與訂閱系統(tǒng)

二芦岂、常用消息隊(duì)列比較

下面列舉了幾個常用的消息隊(duì)列之間的對比。

常見消息隊(duì)列

三垫蛆、Kafka架構(gòu)簡介圖

kafka整體架構(gòu)

這里涉及到的組件和概念有Producer,Consumer,ConsumerGroup,topic,broker,partition等等禽最。相關(guān)概念可以查閱Kafka官方文檔,這里主要是列幾個要關(guān)注的點(diǎn):

1.每個topic可以有多個partition袱饭,一個topic只能保證同一個partition里面的消息有序川无,不能保證不同partition的消息有序

2.同一個topic可以分布在不同的broker,其中一定要有一個broker是屬于leader虑乖,其他broker的topic作為備份

3.消費(fèi)者消費(fèi)消息以group為單位懦趋,同一個group內(nèi)的消息只能被消費(fèi)一次,所以對于上圖决左,如果topicA來了一條數(shù)據(jù)a愕够,consumer1和consumer2兩者只有其中一個可以消費(fèi)這條數(shù)據(jù)a,而如果Consumer3也訂閱topicA佛猛,則不受影響惑芭,可以消費(fèi)a。這里可以看作Consumer3自己也是一個Consumer Group继找。

4.每一個broker和Consumer遂跟,都交由zookeeper去做服務(wù)注冊與發(fā)現(xiàn),同時(shí)zk還有選舉功能,當(dāng)其中一個topic的leader所在的broker下線時(shí)幻锁,zk可以選舉其他備份的broker作為新的leader凯亮,producer生產(chǎn)的所有數(shù)據(jù)都會重新指向這個新leader。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末哄尔,一起剝皮案震驚了整個濱河市假消,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌岭接,老刑警劉巖富拗,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異鸣戴,居然都是意外死亡啃沪,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進(jìn)店門窄锅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來创千,“玉大人,你說我怎么就攤上這事入偷∽仿浚” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵盯串,是天一觀的道長氯檐。 經(jīng)常有香客問我,道長体捏,這世上最難降的妖魔是什么冠摄? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮几缭,結(jié)果婚禮上河泳,老公的妹妹穿的比我還像新娘。我一直安慰自己年栓,他們只是感情好拆挥,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著某抓,像睡著了一般纸兔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上否副,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天汉矿,我揣著相機(jī)與錄音,去河邊找鬼备禀。 笑死洲拇,一個胖子當(dāng)著我的面吹牛奈揍,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播赋续,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼男翰,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了纽乱?” 一聲冷哼從身側(cè)響起蛾绎,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎迫淹,沒想到半個月后秘通,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡敛熬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了第股。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片应民。...
    茶點(diǎn)故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖夕吻,靈堂內(nèi)的尸體忽然破棺而出诲锹,到底是詐尸還是另有隱情,我是刑警寧澤涉馅,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布归园,位于F島的核電站,受9級特大地震影響稚矿,放射性物質(zhì)發(fā)生泄漏庸诱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一晤揣、第九天 我趴在偏房一處隱蔽的房頂上張望桥爽。 院中可真熱鬧,春花似錦昧识、人聲如沸钠四。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽缀去。三九已至,卻和暖如春甸祭,著一層夾襖步出監(jiān)牢的瞬間缕碎,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工淋叶, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留阎曹,地道東北人伪阶。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像处嫌,于是被迫代替她去往敵國和親栅贴。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評論 2 355

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