成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

為什么你要使用這么強大的分布式消息中間件——kafka

khs1994 / 1261人閱讀

摘要:話說阿里中間件團隊和團隊都做了一個的三者對比。所以大家一定要找準自己的方向,不能因為今天阿里招聘需求這么寫就去學這些,明天看到一個技術(shù)很牛逼又去學那個。

為什么是kafka?

在我們大量使用分布式數(shù)據(jù)庫、分布式計算集群的時候,是否會遇到這樣的一些問題:

我們想分析下用戶行為(pageviews),以便我們設計出更好的廣告位

我想對用戶的搜索關(guān)鍵詞進行統(tǒng)計,分析出當前的流行趨勢

有些數(shù)據(jù),存儲數(shù)據(jù)庫浪費,直接存儲硬盤效率又低

這些場景都有一個共同點:
數(shù)據(jù)是由上游模塊產(chǎn)生,上游模塊,使用上游模塊的數(shù)據(jù)計算、統(tǒng)計、分析,這個時候就可以使用消息系統(tǒng),尤其是分布式消息系統(tǒng)!

知道了我們有必要在數(shù)據(jù)處理系統(tǒng)中使用一個消息系統(tǒng),但是我們?yōu)槭裁匆欢ㄒxkafka呢?現(xiàn)在的消息系統(tǒng)可不只有kafka。

話說阿里中間件團隊和LinkedIn團隊都做了一個Kafka、RabbitMQ、RocketMQ的三者對比。這邊就不獻丑了,實際結(jié)果可以參考以下兩篇博文:

阿里測試:http://jm.taobao.org/2016/04/...

LinkedIn測試:https://blog.csdn.net/SJF0115...

Kafka簡介

Kafka是Linkedin于2010年12月份創(chuàng)建的開源消息系統(tǒng),它主要用于處理活躍的流式數(shù)據(jù)?;钴S的流式數(shù)據(jù)在web網(wǎng)站應用中非常常見,這些活動數(shù)據(jù)包括頁面訪問量(Page?View)、被查看內(nèi)容方面的信息以及搜索情況等內(nèi)容。?這些數(shù)據(jù)通常以日志的形式記錄下來,然后每隔一段時間進行一次統(tǒng)計分析。

傳統(tǒng)的日志分析系統(tǒng)是一種離線處理日志信息的方式,但若要進行實時處理,通常會有較大延遲。而現(xiàn)有的消息隊列系統(tǒng)能夠很好的處理實時或者近似實時的應用,但未處理的數(shù)據(jù)通常不會寫到磁盤上,這對于Hadoop之類,間隔時間較長的離線應用而言,在數(shù)據(jù)安全上會出現(xiàn)問題。Kafka正是為了解決以上問題而設計的,它能夠很好地進行離線和在線應用。

kafka部署結(jié)構(gòu)

消息隊列(Message Queue,簡稱MQ),從字面意思上看,本質(zhì)是個隊列,F(xiàn)IFO先入先出,只不過隊列中存放的內(nèi)容是message而已。其主要用途:不同進程Process/線程Thread之間通信。

幾大特性:

高吞吐量:可以滿足每秒百萬級別消息的生產(chǎn)和消費——生產(chǎn)消費。

負載均衡:通過zookeeper對Producer,Broker,Consumer的動態(tài)加入與離開進行管理。

拉取系統(tǒng):由于kafka?broker會持久化數(shù)據(jù),broker沒有內(nèi)存壓力,因此,consumer非常適合采取pull的方式消費數(shù)據(jù)

動態(tài)擴展:當需要增加broker結(jié)點時,新增的broker會向zookeeper注冊,而producer及consumer會通過zookeeper感知這些變化,并及時作出調(diào)整。

消息刪除策略:數(shù)據(jù)文件將會根據(jù)broker中的配置要求,保留一定的時間之后刪除。kafka通過這種簡單的手段,來釋放磁盤空間。

消息收發(fā)流程:

啟動Zookeeper及Broker.

Producer連接Broker后,將消息發(fā)布到Broker中指定Topic上(可以指定Patition)。

Broker集群接收到Producer發(fā)過來的消息后,將其持久化到硬盤,并將消息該保留指定時長(可配置),而不關(guān)注消息是否被消費。

Consumer連接到Broker后,啟動消息泵對Broker進行偵聽,當有消息到來時,會觸發(fā)消息泵循環(huán)獲取消息,獲取消息后Zookeeper將記錄該Consumer的消息Offset。

Kafka服務:?

對于kafka而言,kafka服務就像是一個大的水池。不斷的生產(chǎn)、存儲、消費著各種類別的消息。那么kafka由何組成呢?

Broker?:?Kafka消息服務器,消息中心。一個Broker可以容納多個Topic。

Producer?:消息生產(chǎn)者,就是向Kafka?broker發(fā)消息的客戶端。

Consumer?:消息消費者,向Kafka?broker取消息的客戶端。

Zookeeper?:管理Producer,Broker,Consumer的動態(tài)加入與離開。

Topic?:可以為各種消息劃分為多個不同的主題,Topic就是主題名稱。Producer可以針對某個主題進行生產(chǎn),Consumer可以針對某個主題進行訂閱。

Consumer?Group:?Kafka采用廣播的方式進行消息分發(fā),而Consumer集群在消費某Topic時,?Zookeeper會為該集群建立Offset消費偏移量,最新Consumer加入并消費該主題時,可以從最新的Offset點開始消費。

Partition:Kafka采用對數(shù)據(jù)文件切片(Partition)的方式可以將一個Topic可以分布存儲到多個Broker上,一個Topic可以分為多個Partition。在多個Consumer并發(fā)訪問一個partition會有同步鎖控制。

有的時候,不光是燈紅酒綠的世界可以讓人沉迷,技術(shù)的世界也同樣如此。而且有的時候,技術(shù)的世界比前者更加可怕,它不但能讓你悄無聲息的陷入進去,還能讓你產(chǎn)生一種你很上進,你很努力的假象,以至于等到你恍然大悟那天,已經(jīng)悔之晚矣。

所以大家一定要找準自己的方向,不能因為今天阿里招聘需求這么寫就去學這些,明天看到一個技術(shù)很牛逼又去學那個。因此我給大家推薦一個Java架構(gòu)群:895244712,里面有最清晰的互聯(lián)網(wǎng)架構(gòu)學習路線,更有具體的知識點講解,都是免費的學習資源,推薦給大家。

未來Kafka中間件

目前該中間件只完成了初級階段功能,很多功能都不完善不深入,隨著應用業(yè)務的拓展及Kafka未來版本功能支持。以Kafka消息中間件為中心的大數(shù)據(jù)處理平臺還有很多任務去實現(xiàn)。

一般在互聯(lián)網(wǎng)中所流動的數(shù)據(jù)由以下幾種類型:

需要實時響應的交易數(shù)據(jù),用戶提交一個表單,輸入一段內(nèi)容,這種數(shù)據(jù)最后是存放在關(guān)系數(shù)據(jù)庫(Oracle,?MySQL)中的,有些需要事務支持。

活動流數(shù)據(jù),準實時的,例如頁面訪問量、用戶行為、搜索情況等。我們可以針對這些數(shù)據(jù)廣播、排序、個性化推薦、運營監(jiān)控等。這種數(shù)據(jù)一般是前端服務器先寫文件,然后通過批量的方式把文件倒到Hadoop(離線數(shù)據(jù)分析平臺)這種大數(shù)據(jù)分析器里面,進行慢慢的分析。

各個層面程序產(chǎn)生的日志,例如http的日志、tomcat的日志、其他各種程序產(chǎn)生的日志。這種數(shù)據(jù)一個是用來監(jiān)控報警,還有就是用來做分析。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/71864.html

相關(guān)文章

  • 消息間件——RabbitMQ(二)各大主流消息間件綜合對比介紹!

    摘要:主流消息中間件介紹是由出品,是一個完全支持和規(guī)范的實現(xiàn)。主流消息中間件介紹是阿里開源的消息中間件,目前也已經(jīng)孵化為頂級項目。 showImg(https://img-blog.csdnimg.cn/20190509221741422.gif);showImg(https://img-blog.csdnimg.cn/20190718204938932.png?x-oss-process=...

    hiyang 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<