Spring-Kafka(一)—— Kafka烹困,你好

簡(jiǎn)介

這個(gè)專題講什么呢?SpringBoot整合Kafka乾吻,不會(huì)過多的涉及Kafka的設(shè)計(jì)髓梅、源碼等,主要還是在于講述SpringBoot是如何整合Kafka的绎签,以及一些簡(jiǎn)單的實(shí)現(xiàn)枯饿,文章所有的表述皆是基于本人的理解,如有不恰之處辜御,請(qǐng)?jiān)谖恼碌撞吭u(píng)論鸭你。

Kafka認(rèn)識(shí)一下

Kafka異軍突起,是近來非城苋ǎ火熱的一款消息中間件袱巨。消息中間件的作用非常多,常用作系統(tǒng)業(yè)務(wù)的解耦碳抄。例如最常聽到的秒殺業(yè)務(wù)愉老,我們也能使用消息中間件對(duì)業(yè)務(wù)進(jìn)行解耦,用戶發(fā)起秒殺請(qǐng)求后剖效,系統(tǒng)首先會(huì)將該請(qǐng)求轉(zhuǎn)發(fā)到中間件中嫉入,然后返回一個(gè)等待的結(jié)果(用戶界面顯示正在搶購(gòu)焰盗,請(qǐng)耐心等待),而我們系統(tǒng)會(huì)有監(jiān)聽器去接收這些秒殺請(qǐng)求進(jìn)行對(duì)應(yīng)的業(yè)務(wù)處理咒林,最重要的是熬拒,整個(gè)系統(tǒng)的擴(kuò)展顯得非常簡(jiǎn)單,我們只需要部署Kafka的集群垫竞,以及后臺(tái)的負(fù)載均衡就能快速提高系統(tǒng)的訪問并發(fā)量澎粟。

Kafka的最大的特點(diǎn)就是高吞吐量以及可水平擴(kuò)展,正因這兩點(diǎn)Kafka非常適合處理數(shù)據(jù)量龐大的業(yè)務(wù)欢瞪,例如使用Kafka做日志分析活烙、數(shù)據(jù)計(jì)算。新版本Kafka也推出了Stream API遣鼓,可以更好的支持?jǐn)?shù)據(jù)流處理啸盏。基于這些特性我們可以實(shí)現(xiàn)非常多的系統(tǒng)功能骑祟。

Kafka安裝

這里就不造輪子了回懦,本文章已聯(lián)合百度提供Kafka安裝教程,謝謝合作

點(diǎn)對(duì)點(diǎn)次企、發(fā)布訂閱

點(diǎn)對(duì)點(diǎn)消息系統(tǒng)

以下模型為點(diǎn)對(duì)點(diǎn)消息系統(tǒng)的模型粉怕,簡(jiǎn)單來說就是生產(chǎn)者(Producer)發(fā)送消息到隊(duì)列,消費(fèi)者(Consumer)從隊(duì)列中取出消息抒巢。這種模型的特點(diǎn)就是一條消息只會(huì)被一個(gè)消費(fèi)者接收,一但有消費(fèi)者消費(fèi)了這條消息秉犹,其他消費(fèi)者就沒辦法重復(fù)消費(fèi)了蛉谜。

點(diǎn)對(duì)點(diǎn)
發(fā)布-訂閱消息系統(tǒng)

發(fā)布訂閱的模型也比較好理解,首先消費(fèi)者需要訂閱這個(gè)隊(duì)列崇堵,生產(chǎn)者只要發(fā)送一條消息到隊(duì)列中型诚,所有已訂閱該隊(duì)列的的消費(fèi)者都能接收到該消息,未訂閱的用戶則無法接收鸳劳。就像我們的微信關(guān)注微信公眾號(hào)一樣狰贯,只有關(guān)注了的用戶才會(huì)收到公眾號(hào)推送的消息。


發(fā)布訂閱

Kafka幾個(gè)主要的概念

Kafka結(jié)構(gòu)
Broker

Broker為節(jié)點(diǎn)的意思赏廓,我們啟動(dòng)的單個(gè)Kafka實(shí)例則為一個(gè)Broker涵紊,多個(gè)Broker可以組成Kafka集群

Topic

Topic為主題的意思,也就是相當(dāng)于消息系統(tǒng)中的隊(duì)列(queue)幔摸,一個(gè)Topic中存在多個(gè)Partition

Partition

Partition為分區(qū)的意思摸柄,是構(gòu)成Kafka存儲(chǔ)結(jié)構(gòu)的最小單位

Partition offset

offset為消息偏移量,以Partition為單位既忆,即使在同一個(gè)Topic中驱负,不同Partition的offset也是重新開始計(jì)算(也就是會(huì)重復(fù))

Group

Group為消費(fèi)者組的意思嗦玖,一個(gè)Group里面包含多個(gè)消費(fèi)者

Message

Message為消息的意思,是隊(duì)列中消息的承載體跃脊,也就是通信的基本單位宇挫,Producer可以向Topic中發(fā)送Message

這里就需要說說為什么這樣設(shè)計(jì)了:
首先Topic中有分區(qū)的概念,每個(gè)分區(qū)保存各自的數(shù)據(jù)酪术,而我們的Group這對(duì)應(yīng)著Topic器瘪,也就是這個(gè)Topic中的數(shù)據(jù)都是由該Group去消費(fèi),也就是允許多個(gè)消費(fèi)者同時(shí)消費(fèi)拼缝,這樣能大大提高Kafka的吞吐量娱局。不過這樣的設(shè)計(jì)也會(huì)帶來不少的不便,比如特定場(chǎng)景下你需要去維護(hù)多個(gè)Partition之間的關(guān)系咧七。這里就不多講了衰齐。

握個(gè)手,say個(gè)goodbye

Kafka的簡(jiǎn)單認(rèn)識(shí)就到這里继阻,接下來進(jìn)入Ctrl+C和Ctrl+V的環(huán)節(jié)耻涛。


更多文章請(qǐng)關(guān)注該 Spring-Kafka史上最強(qiáng)入門教程 專題

博主常駐地~ http://blog.seasedge.cn/archives/8.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市瘟檩,隨后出現(xiàn)的幾起案子抹缕,更是在濱河造成了極大的恐慌,老刑警劉巖墨辛,帶你破解...
    沈念sama閱讀 216,324評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卓研,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡睹簇,警方通過查閱死者的電腦和手機(jī)奏赘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來太惠,“玉大人磨淌,你說我怎么就攤上這事≡湓ǎ” “怎么了梁只?”我有些...
    開封第一講書人閱讀 162,328評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)埃脏。 經(jīng)常有香客問我搪锣,道長(zhǎng),這世上最難降的妖魔是什么彩掐? 我笑而不...
    開封第一講書人閱讀 58,147評(píng)論 1 292
  • 正文 為了忘掉前任淤翔,我火速辦了婚禮,結(jié)果婚禮上佩谷,老公的妹妹穿的比我還像新娘旁壮。我一直安慰自己监嗜,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評(píng)論 6 388
  • 文/花漫 我一把揭開白布抡谐。 她就那樣靜靜地躺著裁奇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪麦撵。 梳的紋絲不亂的頭發(fā)上刽肠,一...
    開封第一講書人閱讀 51,115評(píng)論 1 296
  • 那天,我揣著相機(jī)與錄音免胃,去河邊找鬼音五。 笑死,一個(gè)胖子當(dāng)著我的面吹牛羔沙,可吹牛的內(nèi)容都是我干的躺涝。 我是一名探鬼主播,決...
    沈念sama閱讀 40,025評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼扼雏,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼坚嗜!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起诗充,我...
    開封第一講書人閱讀 38,867評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤苍蔬,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后蝴蜓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體碟绑,經(jīng)...
    沈念sama閱讀 45,307評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評(píng)論 2 332
  • 正文 我和宋清朗相戀三年茎匠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蜈敢。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,688評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡汽抚,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出伯病,到底是詐尸還是另有隱情造烁,我是刑警寧澤,帶...
    沈念sama閱讀 35,409評(píng)論 5 343
  • 正文 年R本政府宣布午笛,位于F島的核電站惭蟋,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏药磺。R本人自食惡果不足惜告组,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望癌佩。 院中可真熱鬧木缝,春花似錦便锨、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至矫俺,卻和暖如春吱殉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背厘托。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評(píng)論 1 268
  • 我被黑心中介騙來泰國(guó)打工友雳, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人铅匹。 一個(gè)月前我還...
    沈念sama閱讀 47,685評(píng)論 2 368
  • 正文 我出身青樓押赊,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親伊群。 傳聞我的和親對(duì)象是個(gè)殘疾皇子考杉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評(píng)論 2 353

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

  • 姓名:周小蓬 16019110037 轉(zhuǎn)載自:http://blog.csdn.net/YChenFeng/art...
    aeytifiw閱讀 34,721評(píng)論 13 425
  • Kafka簡(jiǎn)介 Kafka是一種分布式的,基于發(fā)布/訂閱的消息系統(tǒng)舰始。主要設(shè)計(jì)目標(biāo)如下: 以時(shí)間復(fù)雜度為O(1)的方...
    Alukar閱讀 3,079評(píng)論 0 43
  • 本文轉(zhuǎn)載自http://dataunion.org/?p=9307 背景介紹Kafka簡(jiǎn)介Kafka是一種分布式的...
    Bottle丶Fish閱讀 5,469評(píng)論 0 34
  • 背景介紹 Kafka簡(jiǎn)介 Kafka是一種分布式的崇棠,基于發(fā)布/訂閱的消息系統(tǒng)。主要設(shè)計(jì)目標(biāo)如下: 以時(shí)間復(fù)雜度為O...
    高廣超閱讀 12,831評(píng)論 8 167
  • 昨夜丸卷,又一次夢(mèng)見那棵古槐枕稀。 這樣的夢(mèng)已經(jīng)不止一次兩次了。 從我記事起谜嫉,那棵槐樹就已經(jīng)很粗很粗了萎坷。粗得有幾個(gè)人才能合...
    平凡的林大蕾閱讀 367評(píng)論 4 4