常見串流系統
串流概念
Mike Metzger
Data engineer
串流工具
- 依需求可用的多種工具
- 讓設計者可選擇最合適的工具
- 常見系統包含:
- Celery
- Kafka
- Spark Streaming
Celery
- 分散式工作佇列/FIFO
- 主要用作工作或任務佇列
- 常用於非同步任務
- 支援對大量訊息的即時處理
- 提供管理與擴充(垂直與水平)功能
Apache Kafka
- 分散式事件串流系統
- 設計用於在生產者與消費者間傳遞事件
- 生產者在主題上建立事件
- 主題基本上是特定格式的訊息
- 消費者接收新事件
- 不同消費者可按需處理事件(記錄、轉換、轉送等)
- 依設定處理事件儲存
- 功能非常強大,但設定可能不易

Kafka 應用情境
- 最適合用於在多個系統間傳遞資料
- 單一真實來源
- 變更資料擷取
- 資料備份
- 資料系統遷移
Spark 串流
- Apache Spark 的一部分
- 用於處理串流資料
- 建基於 Spark 能力以處理 Scala、Python、SQL 等
- 適合處理大量資料與機器學習情境
- 能輕鬆從批次轉為串流處理
- 不是為儲存或記錄事件而設,主要用來處理或修改資料
Preparing Video For Download...