kappa和lambda对比 | 程序员硬核评测
戳藍(lán)字“CSDN云計(jì)算”關(guān)注我們哦!
程序員硬核評(píng)測(cè):客觀、高效、不說(shuō)軟話。無(wú)論是技術(shù)質(zhì)量、性能水平,還是工具篩選,一測(cè)便知!
作者:浪尖
轉(zhuǎn)載:Spark學(xué)習(xí)技巧
首先我們會(huì)詳細(xì)的講解這兩種架構(gòu),實(shí)現(xiàn)這兩種架構(gòu)的技術(shù)工具,還有就是如何決策使用這兩種架構(gòu)。
如何構(gòu)建一個(gè)實(shí)時(shí)處理系統(tǒng)架構(gòu)一直爭(zhēng)論不斷。一個(gè)好的實(shí)時(shí)處理系統(tǒng)必須是容錯(cuò)和可升級(jí)的。必須支持批量和增量的更新,必須可擴(kuò)展。
在這些討論中一個(gè)重要的里程碑是,storm的創(chuàng)始人,Nathan Marz,描述了我們目前所了解的lambda架構(gòu)。Lambda架構(gòu)目前已經(jīng)有很多使用案例,實(shí)時(shí)上大量的公司都在使用,比如Yahoo和Netflix。當(dāng)然,lambda架構(gòu)也并不是得到的全是贊美,也有一些批判,就是它帶來(lái)了編碼的負(fù)擔(dān)。(?原英:But of course, Lambda is not a silver bullet and has received some fair criticism on the coding overhead it can create.)
在2014年夏天,LinkedIn的Jay Kreps發(fā)表了一篇文章描述了Kappa架構(gòu),解決了一些Lambda架構(gòu)的陷阱。Kappa架構(gòu)并不是Lambda架構(gòu)的替代,因?yàn)橛行㎜ambda架構(gòu)并不適合遷移到Kappa架構(gòu)上去。
對(duì)于一個(gè)給定的案例,準(zhǔn)確的評(píng)估哪種架構(gòu)師最好的是很有挑戰(zhàn)性的,錯(cuò)誤的設(shè)計(jì)決策可能對(duì)數(shù)據(jù)分析項(xiàng)目的實(shí)施產(chǎn)生嚴(yán)重的影響。
現(xiàn)在,就深入細(xì)節(jié)去了解兩種數(shù)據(jù)處理架構(gòu)。
?
Lambda架構(gòu)有三個(gè)層面組成:batch,speed,serving。
Batch層面有兩個(gè)主要的任務(wù):
1.管理歷史數(shù)據(jù)。
2.重新結(jié)算結(jié)果,例如重新訓(xùn)練模型。
Batch層接受新的數(shù)據(jù),將新的數(shù)據(jù)和歷史數(shù)據(jù)進(jìn)行合并,然后重新計(jì)算結(jié)果。Batch層計(jì)算了所有的數(shù)據(jù),這使得系統(tǒng)能產(chǎn)生相對(duì)精確的結(jié)果。然而,由于計(jì)算時(shí)間比較久,使的結(jié)果延遲也會(huì)比較大。
Speed層主要提供低延遲,近實(shí)時(shí)的計(jì)算結(jié)果。Speed層接收數(shù)據(jù),增量更新batch層的結(jié)果。由于speed層的增量算法,計(jì)算代價(jià)被極大減少。
Serving用batch層和speed層計(jì)算的結(jié)果提供多樣的查詢。
創(chuàng)建kappa架構(gòu)的一個(gè)最重要的動(dòng)機(jī)是避免維護(hù)batch和speed層兩份獨(dú)立的代碼。一個(gè)核心的思想就是用一個(gè)單獨(dú)的流處理引擎處理實(shí)時(shí)的計(jì)算和連續(xù)不斷的數(shù)據(jù)的重復(fù)計(jì)算。代碼的更改對(duì)結(jié)果影響很大,所以數(shù)據(jù)必須重新計(jì)算。結(jié)果kappa架構(gòu)的組成只有兩個(gè)部分:stream processing和serving。流處理層運(yùn)行流處理任務(wù)。運(yùn)行一個(gè)流處理作業(yè)以啟用實(shí)時(shí)數(shù)據(jù)處理。僅僅當(dāng)流處理作業(yè)更改了一些代碼之后才會(huì)進(jìn)行數(shù)據(jù)的重新處理。可以通過(guò)重啟一個(gè)梗概代碼后的流處理作業(yè)去處理所有以前的數(shù)據(jù)。
Serving層也是提供數(shù)據(jù)查詢的。
福利
掃描添加小編微信,備注“姓名+公司職位”,加入【云計(jì)算學(xué)習(xí)交流群】,和志同道合的朋友們共同打卡學(xué)習(xí)!
推薦閱讀:
圖解分布式架構(gòu)的發(fā)展和演進(jìn) | 技術(shù)干貨
Docker 系列學(xué)習(xí)文章 | 什么是容器云?
任正非:華為海思芯片不是“備胎”!
揭秘清華 AI 學(xué)堂班:姚期智擔(dān)任首席教授,2019 年首批招收 30 人
Google Android 向華為“閉源”!華為手機(jī)迎來(lái)至暗時(shí)刻!
"兩年前我對(duì)區(qū)塊鏈的了解為零, 兩年后我成了工程師" 我是如何得到第一份工作的?
《使女的故事》大火,AI是背后最大推手?
真香,朕在看了!
總結(jié)
以上是生活随笔為你收集整理的kappa和lambda对比 | 程序员硬核评测的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Boost::context模块call
- 下一篇: 一键ghost怎么使用教程 一键ghos