W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
該頁(yè)面提供了有關(guān)流處理的一些背景知識(shí),描述了 Samza 是什么,以及為什么構(gòu)建它。
消息系統(tǒng)是實(shí)現(xiàn)近實(shí)時(shí)異步計(jì)算的常用方式。當(dāng)事情發(fā)生時(shí),消息可以添加到消息隊(duì)列(ActiveMQ,RabbitMQ),pub-sub 系統(tǒng)(Kestrel,Kafka)或日志聚合系統(tǒng)(Flume,Scribe)中。下游用戶從這些系統(tǒng)讀取消息,并根據(jù)消息內(nèi)容進(jìn)行處理或采取行動(dòng)。
假設(shè)你有一個(gè)網(wǎng)站,每當(dāng)有人加載一個(gè)頁(yè)面時(shí),你會(huì)發(fā)送一個(gè)“用戶瀏覽的頁(yè)面”事件到消息系統(tǒng)。您可能會(huì)讓用戶執(zhí)行以下任何操作:
消息傳遞系統(tǒng)允許您將所有這些工作與實(shí)際網(wǎng)頁(yè)服務(wù)分離。
消息系統(tǒng)是一個(gè)相當(dāng)?shù)图?jí)別的基礎(chǔ)設(shè)施 - 它存儲(chǔ)消息并等待用戶使用它們。當(dāng)您開(kāi)始編寫(xiě)產(chǎn)生或使用消息的代碼時(shí),您很快就會(huì)發(fā)現(xiàn)在處理層中有很多棘手的問(wèn)題需要解決。Samza 旨在幫助解決這些問(wèn)題。
考慮上面的計(jì)數(shù)示例(計(jì)數(shù)頁(yè)面視圖和更新儀表板)。當(dāng)您的使用者正在運(yùn)行的機(jī)器出現(xiàn)故障,并且當(dāng)前計(jì)數(shù)器值丟失時(shí)會(huì)發(fā)生什么?你怎么恢復(fù)?處理器在重新啟動(dòng)時(shí)應(yīng)該在哪里運(yùn)行?如果底層郵件系統(tǒng)向您發(fā)送兩次相同的郵件或丟失郵件怎么辦?(除非您小心,否則您的計(jì)數(shù)將不正確。)如果您想按頁(yè)面網(wǎng)址分組的網(wǎng)頁(yè)瀏覽量計(jì)算如何?如果單個(gè)機(jī)器處理太多,您如何將計(jì)算分布在多臺(tái)機(jī)器上?
流處理在消息傳遞系統(tǒng)之上是更高層次的抽象,它的目的是要正確解決這一類問(wèn)題。
Samza 是一個(gè)流處理框架,具有以下功能:
可用的開(kāi)源流處理系統(tǒng)實(shí)際上很年輕,沒(méi)有一個(gè)系統(tǒng)提供完整的解決方案。這一領(lǐng)域的新問(wèn)題包括:如何管理流處理器的狀態(tài),流是否應(yīng)該在磁盤(pán)上遠(yuǎn)程緩沖、在接收到重復(fù)消息或丟失消息時(shí)該怎么做,以及如何對(duì)底層消息傳遞系統(tǒng)進(jìn)行建模。
Samza 的主要特點(diǎn)是:
有關(guān) Samza 的更深入的討論及其與其他流處理系統(tǒng)的關(guān)系,請(qǐng)參閱 Samza 的 比較 文檔。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: