Apache頂級項目介紹系列-1,我們從Kafka說起。why?流行 + 名字cool。
Kafka官網(wǎng)是見過比較簡單,直敘的網(wǎng)站,“kafka是一個高吞吐的分布式的消息系統(tǒng)”。 Kafka最初起家于LinkedIn,當(dāng)時原本作為linkedin用來管理活動流(PV,用戶行為分析,搜索情況)和運(yùn)營數(shù)據(jù)處理的pipline的基礎(chǔ)。
因為其分布式以及高吞吐被廣泛使用,如與Cloudera, Hadoop, Storm, Spark etc.
kafka首先作為一個消息系統(tǒng),提供了基本功能,如解耦,順序性,異步性等。同時優(yōu)質(zhì)的設(shè)計理念支撐高吞吐,提供O(1)時間負(fù)責(zé)度持久化能力,數(shù)據(jù)級別達(dá)到TB/PB以上,支持離線與實時處理,即與hadoop,storm對接,支持水平scale out。
架構(gòu)圖:
可以看到,kafka是一個分布式架構(gòu)設(shè)計(當(dāng)然DT時代,不支持水平scale out無法生存), 前段producer并發(fā)(支持批量)push消息到kafka特定topic集群服務(wù)器broker,每個topic又包含多個partition便于水平擴(kuò)展,消費者consumer通過consumer group向broker服務(wù)器pull獲取消息。kafka通過zk管理集群配置,選舉leader,以及rebalance。消息模式為push/pull。
我們來建一個kafka集群服務(wù):
通過zk發(fā)送,消費消息:
用java來生產(chǎn)/消費消息:
比較直白,這里注意可以批量發(fā)送消息,不是所有消息中間件可以批量發(fā)送的,批量發(fā)送是高吞吐原因之一。
這里使用stream流來消費payload,消息流迭代器用不停止,類似監(jiān)聽消息一樣。
kafka之所以高效或者其創(chuàng)新點:
消息刪除管理 通常消息中間件會消費一個消息,刪除一個消息,這使得消息的使用代價非常高額。而kafka使用無狀態(tài)管理,引入消息偏移量,消息基于時間的SLA應(yīng)用保留策略,當(dāng)消息超過一定時間后才被刪除,這樣按照官網(wǎng)的說法,消費Kafka消息就是非常輕量級:come and go. 聽起來像外賣一樣,take and go. 甚至,由于引入偏移量,消費者可以隨意獲取任意位置消息,包括重新獲取已經(jīng)消費過的消息。
2. Kafka利用linux sendfile從linux kernel復(fù)制文件
3.kafka引入zk,管理分布式協(xié)調(diào),HA,容錯。zk用來管理kafaka代理broker,當(dāng)kafka新增或者某代理失效,zk服務(wù)將通知生產(chǎn)者與消費者。
4. 生產(chǎn)者性能,消息結(jié)構(gòu)優(yōu)化大小以及批量發(fā)送
5. 消費這性能:消息結(jié)構(gòu)優(yōu)化以及無狀態(tài)引入便宜量,無需為何b+樹索引。
總體來說kafka表現(xiàn)異常突出,不失為通常消息中間件的代替品,如果管理hadoop,stream更是首推。另外如果處理網(wǎng)站日志,用戶使用行為分析,或者離線處理log等都是不二之選。
好了,先到這里了,起個大早來寫東西,果然不靠譜,時間緊任務(wù)重啊。望大家包涵,有些圖借用自網(wǎng)絡(luò)。
公眾號:技術(shù)極客TechBooster
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站標(biāo)題:Apache頂級項目介紹2-Kafka-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://aaarwkj.com/article20/ccjhco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、全網(wǎng)營銷推廣、關(guān)鍵詞優(yōu)化、微信公眾號、標(biāo)簽優(yōu)化、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容