Kafka架构设计:分布式发布订阅消息系统
【http://www.oschina.net/translate/kafka-design】(較長(zhǎng):很詳細(xì)的講解)
【我們?yōu)槭裁匆罱ㄔ撓到y(tǒng)】
用作LinkedIn的活動(dòng)流(activity stream)和運(yùn)營(yíng)數(shù)據(jù)處理管道(pipeline)的基礎(chǔ)。
作為多種類型的數(shù)據(jù)管道(data pipeline)和消息系統(tǒng)使用。
活動(dòng)流數(shù)據(jù)是所有站點(diǎn)在對(duì)其網(wǎng)站使用情況做報(bào)表時(shí)要用到的數(shù)據(jù)中最常規(guī)的部分。活動(dòng)數(shù)據(jù)包括頁(yè)面訪問(wèn)量(page view)、被查看內(nèi)容方面的信息以及搜索情況等內(nèi)容。這種數(shù)據(jù)通常的處理方式是先把各種活動(dòng)以日志的形式寫入某種文件,然后周期性地對(duì)這些文件進(jìn)行統(tǒng)計(jì)分析。
運(yùn)營(yíng)數(shù)據(jù)指的是服務(wù)器的性能數(shù)據(jù)(CPU、IO使用率、請(qǐng)求時(shí)間、服務(wù)日志等等數(shù)據(jù))。運(yùn)營(yíng)數(shù)據(jù)的統(tǒng)計(jì)方法種類繁多。
【活動(dòng)流數(shù)據(jù)的特點(diǎn)】
這種由不可變(immutable)的活動(dòng)數(shù)據(jù)組成的高吞吐量數(shù)據(jù)流代表了對(duì)計(jì)算能力的一種真正的挑戰(zhàn),因其數(shù)據(jù)量很容易就可能會(huì)比網(wǎng)站中位于第二位的數(shù)據(jù)源的數(shù)據(jù)量大10到100倍。
傳統(tǒng)的日志文件統(tǒng)計(jì)分析對(duì)報(bào)表和批處理這種離線處理的情況來(lái)說(shuō),是一種很不錯(cuò)且很有伸縮性的方法;但是這種方法對(duì)于實(shí)時(shí)處理來(lái)說(shuō)其時(shí)延太大,而且還具有較高的運(yùn)營(yíng)復(fù)雜度。另一方面,現(xiàn)有的消息隊(duì)列系統(tǒng)(messaging and queuing system)卻很適合于在實(shí)時(shí)或近實(shí)時(shí)(near-real-time)的情況下使用,但它們對(duì)很長(zhǎng)的未被處理的消息隊(duì)列的處理很不給力,往往并不將數(shù)據(jù)持久化作為首要的事情考慮。這樣就會(huì)造成一種情況,就是當(dāng)把大量數(shù)據(jù)傳送給Hadoop這樣的離線系統(tǒng)后, 這些離線系統(tǒng)每個(gè)小時(shí)或每天僅能處理掉部分源數(shù)據(jù)。Kafka的目的就是要成為一個(gè)隊(duì)列平臺(tái),僅僅使用它就能夠既支持離線又支持在線使用這兩種情況。
Kafka支持非常通用的消息語(yǔ)義(messaging semantics)。盡管我們這篇文章主要是想把它用于活動(dòng)處理,但并沒(méi)有任何限制性條件使得它僅僅適用于此目的。
?
更多內(nèi)容,未完待續(xù)...
轉(zhuǎn)載于:https://www.cnblogs.com/lsx1993/p/4627400.html
總結(jié)
以上是生活随笔為你收集整理的Kafka架构设计:分布式发布订阅消息系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux下统计文件的数目,Linux下
- 下一篇: dlp防泄密系统卸载_怎样做好数据防泄密