kafka 入門(mén)

Kafka是一個(gè) 分布式的杀迹、可分區(qū)的押搪、可復(fù)制的消息系統(tǒng)浅碾。它提供了普通消息系統(tǒng)的功能续语,但具有自己獨(dú)特的設(shè)計(jì)。

首先來(lái)了解一下Kafka所使用的基本術(shù)語(yǔ):
Topic
Kafka將消息種子(Feed)分門(mén)別類(lèi)埂陆, 每一類(lèi)的消息稱之為話題(Topic).
Producer
發(fā)布消息的對(duì)象稱之為話題生產(chǎn)者(Kafka topic producer)
Consumer
訂閱消息并處理發(fā)布的消息的種子的對(duì)象稱之為話題消費(fèi)者(consumers)
Broker
已發(fā)布的消息保存在一組服務(wù)器中娃豹,稱之為Kafka集群。集群中的每一個(gè)服務(wù)器都是一個(gè)代理(Broker). 消費(fèi)者可以訂閱一個(gè)或多個(gè)話題鹃栽,并從Broker拉數(shù)據(jù)躯畴,從而消費(fèi)這些已發(fā)布的消息。
partition
每一個(gè)分區(qū)都是一個(gè)順序的丰嘉、不可變的消息隊(duì)列嚷缭, 并且可以持續(xù)的添加。分區(qū)中的消息都被分配了一個(gè)序列號(hào)阅爽,稱之為偏移量(offset),在每個(gè)分區(qū)中此偏移量都是唯一的简肴。 Kafka集群保持所有的消息百侧,直到它們過(guò)期, 無(wú)論消息是否被消費(fèi)了辫狼。

Client和Server之間的通訊是通過(guò)一條簡(jiǎn)單观话、高性能并且?和開(kāi)發(fā)語(yǔ)言無(wú)關(guān)的TCP協(xié)議

生產(chǎn)者(Producer)

生產(chǎn)者往某個(gè)Topic上發(fā)布消息越平。生產(chǎn)者也負(fù)責(zé)選擇發(fā)布到?Topic上的哪一個(gè)分區(qū)灵迫。最簡(jiǎn)單的方式從分區(qū)列表中輪流選擇晦溪。也可以根據(jù)某種算法依照權(quán)重選擇分區(qū)。開(kāi)發(fā)者負(fù)責(zé)如何選擇分區(qū)的算法狞换。

消費(fèi)者(Consumers)

Topic分區(qū)中消息只能由消費(fèi)者組中的唯一一個(gè)消費(fèi)者處理舟肉,所以消息肯定是按照先后順序進(jìn)行處理的。但是它也僅僅是保證Topic的一個(gè)分區(qū)順序處理黄琼,不能保證跨分區(qū)的消息先后處理順序整慎。 所以,如果你想要順序的處理Topic的所有消息撤师,那就只提供一個(gè)分區(qū)拧揽。

kafka的保證
  • 生產(chǎn)者發(fā)送到一個(gè)特定的Topic的分區(qū)上的消息將會(huì)按照它們發(fā)送的順序依次加入
  • 消費(fèi)者收到的消息也是此順序
  • 如果一個(gè)Topic配置了復(fù)制因子( replication facto)為N, 那么可以允許N-1服務(wù)器宕機(jī)而不丟失任何已經(jīng)增加的消息
消息傳遞保障
  • 最多一次 --- 消息可能丟失万俗,但永遠(yuǎn)不會(huì)重發(fā)
  • 至少一次 --- 消息絕不會(huì)丟失饮怯,但有可能重新發(fā)送
  • 正好一次 --- 這是人們真正想要的,每個(gè)消息傳遞一次且僅一次
性能

3臺(tái)kafka集群 3臺(tái)customer(生產(chǎn)者或者消費(fèi)者):
CPU:8 vCPU蓖墅, Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
內(nèi)存:16 GB
磁盤(pán):500 GB
實(shí)驗(yàn)條件:3個(gè)Broker论矾,1個(gè)Topic,6個(gè)Partition贪壳,無(wú)Replication,異步模式彪笼,消息Payload為100字節(jié)
測(cè)試項(xiàng)目:測(cè)試1個(gè)Producer和1個(gè)Consumer同時(shí)工作時(shí)Consumer所能消費(fèi)到的消息量
測(cè)試結(jié)果:1,215,613 records/second

#######優(yōu)點(diǎn)和缺點(diǎn)
優(yōu)點(diǎn)

  • 高吞吐率
  • 分布式,高擴(kuò)展性
  • 容錯(cuò)性
  • 持久性幅恋,可靠性
  • 高并發(fā): 支持?jǐn)?shù)千個(gè)客戶端同時(shí)讀寫(xiě)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末泵肄,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子品追,更是在濱河造成了極大的恐慌冯丙,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,029評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件风宁,死亡現(xiàn)場(chǎng)離奇詭異蛹疯,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)饮寞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,395評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)列吼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)寞钥,“玉大人,你說(shuō)我怎么就攤上這事理郑。” “怎么了柒爵?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,570評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵赚爵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我唁奢,道長(zhǎng),這世上最難降的妖魔是什么氓扛? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,535評(píng)論 1 284
  • 正文 為了忘掉前任论笔,我火速辦了婚禮千所,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘最楷。我一直安慰自己待错,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,650評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布犯建。 她就那樣靜靜地躺著瓜客,像睡著了一般。 火紅的嫁衣襯著肌膚如雪玻熙。 梳的紋絲不亂的頭發(fā)上疯攒,一...
    開(kāi)封第一講書(shū)人閱讀 49,850評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音称杨,去河邊找鬼筷转。 笑死,一個(gè)胖子當(dāng)著我的面吹牛锭汛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播唤殴,決...
    沈念sama閱讀 39,006評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼朵逝,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了配名?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,747評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤宇整,失蹤者是張志新(化名)和其女友劉穎芋膘,沒(méi)想到半個(gè)月后为朋,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,207評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡胶惰,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,536評(píng)論 2 327
  • 正文 我和宋清朗相戀三年融涣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片剃斧。...
    茶點(diǎn)故事閱讀 38,683評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡忽你,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出根蟹,到底是詐尸還是另有隱情糟秘,我是刑警寧澤,帶...
    沈念sama閱讀 34,342評(píng)論 4 330
  • 正文 年R本政府宣布散庶,位于F島的核電站,受9級(jí)特大地震影響悲龟,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜皿渗,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,964評(píng)論 3 315
  • 文/蒙蒙 一轻腺、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧诀拭,春花似錦煤蚌、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,772評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至贪庙,卻和暖如春蜘犁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背止邮。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,004評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工这橙, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人导披。 一個(gè)月前我還...
    沈念sama閱讀 46,401評(píng)論 2 360
  • 正文 我出身青樓屈扎,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親撩匕。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鹰晨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,566評(píng)論 2 349

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

  • Kafka入門(mén)經(jīng)典教程-Kafka-about云開(kāi)發(fā) http://www.aboutyun.com/threa...
    葡萄喃喃囈語(yǔ)閱讀 10,812評(píng)論 4 54
  • Kafka官網(wǎng):http://kafka.apache.org/入門(mén)1.1 介紹Kafka? 是一個(gè)分布式流處理系...
    it_zzy閱讀 3,887評(píng)論 3 53
  • 一止毕、基本概念 介紹 Kafka是一個(gè)分布式的模蜡、可分區(qū)的、可復(fù)制的消息系統(tǒng)扁凛。它提供了普通消息系統(tǒng)的功能忍疾,但具有自己獨(dú)...
    ITsupuerlady閱讀 1,627評(píng)論 0 9
  • Kafka作為一個(gè)分布式的流平臺(tái),這到底意味著什么谨朝? 我們認(rèn)為卤妒,一個(gè)流處理平臺(tái)具有三個(gè)關(guān)鍵能力: 發(fā)布和訂閱消息(...
    晴天哥_王志閱讀 449評(píng)論 0 0
  • kafka的定義:是一個(gè)分布式消息系統(tǒng)丸边,由LinkedIn使用Scala編寫(xiě),用作LinkedIn的活動(dòng)流(Act...
    時(shí)待吾閱讀 5,311評(píng)論 1 15