Mais conteúdo relacionado
Semelhante a SRE CH25 - Data Processing Pipelines (20)
SRE CH25 - Data Processing Pipelines
- 2. Written by Dan Dennison
P311 - P322 (繁中版)
Chapter 25
Data Processing Pipelines
資料處理管線
2
- 5. 管線設計模式的起源 (Origin of the PIpeline Design Pattern)
● Input -> Program -> Output
● coroutine (協程)
● DTSS 通訊檔案 (Dartmouth Time Sharing System)
● UNIX Pipeline
● ETL: Extract-Transform-Load
● Big Data
5
- 9. 簡單管線設計模式與大數據 (Initial Effect of Big Data on the Simple Pipeline Pattern)
● 簡單,單向管線:Simple, One-Phase Pipeline
○ 大數據
○ 週期性、持續性的操作
● 多相管線 (multiphase pipeline)
○ 便於理解系統的邏輯
○ 但是系統效率不一定最佳
● 深度 (depth)
○ 一條 Pipeline 只有一個程式,深度為 1
○ 很深的 Pipeline 可能有數十個、數百個程式
9
- 11. 11
週期性管線模式的挑戰 (Challenges with the Periodic Pipeline Pattern)
● 條件:
○ 有足夠的執行容量
○ 確保程式之間處理的能力一致 (CH22 處理連鎖故障)
● 框架的實作:MapReduce、Flume
● 週期性資料管線模式很脆弱
○ 相關問題:
■ 任務執行預期
■ 資源耗盡
■ 分塊卡住,引響整個系統
○ 要調教以下之後才會穩定:
■ 工作串流
■ 執行週期
■ 分快處理技術
- 13. 13
工作分配不均造成的問題 (Trouble Caused By Unevent Work Distribution)
● 大數據的關鍵思維:尷尬平行 (embarrassingly parallel) 演算法
○ 把巨大的工作,切割成可裝載在機器的小區塊
○ 要注意區塊的資源分配
○ k8s, container
● 卡住的工作分塊 (hanging chunk)
○ 資源分配不足、過量
○ 資料流操作困難
- 15. 插播:想當年。。。
設計 Automation Test Framework 做的事。。。
15
https://rickhw.github.io/2017/03/18/SQA/Stages-In-Software-Testing/#Test-Framework-for-Regression
- 22. 22
分散式環境中 週期性資料管線的缺點
(Drawbacks of Periodic Pipelines in Distributed Environment)
● 這些工作的特點
○ 低優先權
○ 高延遲
○ 降低成本
○ 最大化機器負載
● 造成的問題
○ 新的工作累積 (Queue?) 在調度器上
○ 為了加速執行,正在執行、快要結束的工作可能被終止
● 解決方案
○ 提供足夠的服務容量
○ 計算需要的資源與取得的依賴
- 24. 監控 週期性管線問題
● 驚群效應 (Thundering Herd Problems)
○ CH24 分散式任務排程系統 (Cron)
○ 每次執行,可能啟動數千個工作流程
○ 執行實體過載
○ 分散式叢集過載
○ 網路基礎設施過載
● 摩爾負載模式 (Moire Load Pattern)
○ 兩個以上的管線任務執行
○ 共享資源消耗問題
24
- 28. Google Workflow 簡介
● 一次性批次處理管線需求越來越多
● Google 2003 年開發的
○ 實現超大規模交易性資料流
○ 僅執行一次 (exactly-once)
28
- 30. Workflow as Model-View-Controller Pattern
30
● Model (模型): 主作業處理程序
○ 將任務儲存在記憶體中
○ 將每次修改以日誌方式記錄在持久磁碟上
○ 只儲存特定工作的指標
● View (視圖): 工作流程
○ 視同整個管線子元件
○ 不停向 Model 更新他們所見的系統狀況
● Controller (控制器): 輔助活動
○ 即時伸縮管線 (runtime scaling of the pipeline)
○ 執行狀態快照 (snapshotting)
○ 管理工作週期 (workcycle state control)
○ 回溯管線狀態 (rolling back pipeline state)
○ 緊急時刻停止系統一切行為 (performing global interdiction for business continuity)
- 38. ● 週期性 管線資料 很有價值
● 資料本身是持續性、自然成長,就不要採用週期性設計,而是利用 Workflow 特
典設計
小結
38