Lambda 架構
Lambda 架構由Storm的作者Nathan Marz提出,其設計目的在於提供一個能滿足大數據系統關鍵特性的架構,包括高容錯、低延遲、可擴展等。其整合離線計算與實時計算,融合不可變性、讀寫分離和復雜性隔離等原則,可集成Hadoop, Kafka, Spark,Storm等各類大數據組件。
Lambda 架構可分解為三層Layer,即Batch Layer, Real-Time(Speed) Layer和Serving Layer。
Batch Layer : 存儲數據集,在數據集上預先計算查詢函數,並構建查詢所對應的View。Batch Layer可以很好的處理離線數據,但有很多場景數據是不斷實時生成且需要實時查詢處理,對於這情況, Speed Layer更為適合。
Speed Layer : Batch Layer處理的是全體數據集,而Speed Layer處理的是最近的增量數據流。Speed Layer為了效率,在接收到新的數據后會不斷更新Real-time View,而Batch Layer是根據全體離線數據集直接得到Batch View。
Serving Layer : Serving Layer用於合並Batch View和Real-time View中的結果數據集到最終數據集。

推薦系統之lambda架構

斗魚大數據架構

