iT邦幫忙

2023 iThome 鐵人賽

DAY 7
0
自我挑戰組

AWS 來去雲端系列 第 7

Day 07 雲端應用程式架構(1) Lambda架構

  • 分享至 

  • xImage
  •  

Lambda架構

Lambda架構模式結合了批次處理與串流處理的優點,這種模式由多個不同層面組成,包括Batch Layer(批次處理層)、Speed Layer(加速處理層)、Serving Layer(服務層),把批次處理層和加速處理層的輸出結果整合起來,得到最後的輸出。因為這種架構能在程式上做最少更改的同時,支援串流處理和批次處理,所以在以Spark為主的雲端環境上很常見。
https://ithelp.ithome.com.tw/upload/images/20230918/20163259KnziiPezlL.png

  • 批次處理層:負責處理大量的歷史數據,會從具持久性的資料儲存服務上(S3或HDFS)擷取並處理資料。它通常使用分佈式批次處理框架(Apache Hadoop)來執行複雜的數據處理任務,生成批次視圖。這些批次視圖是靜態的,並且經常計算,以便提供高品質的數據。
  • 加速處理層: 擷取並處理那些不視由批次處理層負責的串流數據。
  • 批次視圖:批次處理層生成的靜態數據視圖,用於支援複雜的查詢和分析。這些視圖是在批次的處理過程中定期更新的,因此可能存在一些延遲。
  • 即時視圖:加速處理層生成的即時視圖,用於提供即時的數據分析和查詢支援。這些視圖包含了最新的數據,因此具有低延遲。
  • 整合層:服務層是Lambda架構的核心,它負責將批次處理視圖和即時視圖合併,以便用戶能夠進行統一的查詢和分析。這個層次通常使用分佈式數據庫或NoSQL數據庫來實現。

結論

Lambda架構的主要優勢在於它能夠處理大規模、高速度和多樣化的數據,同時提供了高可用性、容錯恢復和即時處理的能力。這種架構特別適用於需要從數據中快速獲取輸出的應用,例如實時分析、監控和報警系統。但需要注意,實現Lambda架構可能需要處理合併層的複雜性,以確保兩個處理流程的結果能夠一起運作。


雲端入門新手,在這裡記錄學習雲端的筆記,願30天後可以如願上雲端。
我們明天見~


上一篇
Day 06 雲端的多層式架構
下一篇
Day 08 雲端應用程式架構(2) Kappa架構
系列文
AWS 來去雲端30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言