Serverless 在數據處理場景下的最佳應用

我們知道傳統的數據處理無外乎涉及 Kafka、Logstash、File Beats、Spark、Flink、CLS、COS 等組件。這些海量服務器組件承擔着從數據源取數據,數據聚合過濾等處理,再到數據流轉的任務,不管是開發成本、運維成本以及價格方面都有所欠佳。下面將爲大家詳細介紹:雲函數 SCF 是如何降低傳統海量服務器組件的開發和運維成本的。

01. 騰訊云云函數 SCF

騰訊云云函數(Serverless Cloud Function,SCF)是騰訊云爲企業和開發者們提供的無服務器執行環境,在無需購買和管理服務器的情況下運行代碼,是實時文件處理和數據處理等場景下理想的計算平臺。只需使用雲函數平臺支持的語言編寫核心代碼並設置代碼運行的條件,即可在騰訊雲基礎設施上彈性、安全地運行代碼。

雲函數具有資源編排,自動伸縮,事件驅動等能力,覆蓋編碼、調試、測試、部署等全生命週期,同時提供了貼合應用場景的框架,開發者根據實際需求選擇對應的框架之後,只需專注於業務邏輯的開發,無需關心底層的資源,幫助開發者通過聯動雲資源,迅速構建 Serverless 應用。

02. 雲函數 SCF 在數據處理的位置

雲函數作爲騰訊雲基礎的 Serverless Faas 能力,已打通衆多雲上產品的事件觸發,例如 Ckafka、CLS、COS、APIGW、CMQ 等產品,作爲各個雲產品的 “粘合劑”,從簡單的數據轉儲,到複雜的數據清洗、過濾、聚合等,都有現成的解決方案。

如圖所示,在雲上產品整個上下游生態圖中,雲函數處於中間層,起到數據聚合,數據清洗,數據流轉的作用。

<img src="https://main.qcloudimg.com/raw/e233b886951afc8f52fbcbb00d2c4958.jpg" width="700"/>

03. 消息隊列 Ckafka 篇

在普通的流式計算中,技術方案不外乎是主動消費 Ckafka,再使用 Logstash、Spark 等工具進行清洗存儲到 HDFS、ES、MySQL 等目標端。這樣整套下來,帶來的學習成本、維護成本以及價格成本都是巨大的,整體看來這些開源方案還是有所欠缺的。下面來看看雲函數是怎麼解決以上問題的?

Ckafka 和雲函數 SCF 的碰撞

  • Ckafka + 雲函數 + COS/DB/ES/Ckafka

雲函數使用 Ckafka 觸發器獲取消息,然後承擔起數據格式轉換、數據清洗過濾、數據重組、格式化等操作,把數據轉爲目標格式之後轉存入 COS、DB、ES 或 Ckafka 等第三方目標中。

<img src="https://main.qcloudimg.com/raw/4c4fcdedb374b791eea10800699ac515.jpg" width="700"/>

通過 Ckafka(源)+ 雲函數 + 第三方(目標)組合的解決方案可以給用戶帶來更低的研發成本、維護成本、價格成本。

Ckafka 消息轉儲到 COS Ckafka 消息同步到 Ckafka
開發 + 測試周期:0.1 day 開發+測試周期:0.3 day
轉存費用:單 Partition,約 15 元/月 同步費用:單 Partition,約 15 元/月
維護成本:0 維護成本:0
  • 某知名電商所使用的雲函數 + Ckafka 解決方案:

生產系統生成的用戶日誌旁路寫入 Ckafka,基於雲函數 + Ckafka 觸發器,實時拉取消費,並代替 Logstash 實現日誌清洗邏輯,最終由 ES + Kibana 做存儲和展示。

對比傳統模式:13 臺 * 32C128G,刊例價:2.5W+,雲函數月度費用:約 1.2W+,成本至少降低 50%。

<img src="https://main.qcloudimg.com/raw/240f3b6c2010c5a6fc94f324e0bd37f1.jpg" width="700"/>

04. 日誌服務 CLS 篇

普通的日誌數據加工方案,是通過日誌 SDK 將日誌回傳到服務器,第三方服務回寫 EMR/ETL 服務平臺,然後再通過日誌 SDK 轉儲到最終日誌服務實例或永久存儲桶,該方案整體處理流程複雜,需要大量開發人力及運維人力,日誌同步慢,整體鏈路過長,延時很高。整體來說也是欠佳的,下面來看看雲函數是怎麼最優解決這些問題的。

CLS 和雲函數 SCF 的碰撞

  • CLS 日誌投遞 + 雲函數 + COS/CLS

雲函數使用 CLS 觸發器自動監聽雲上日誌服務,每個 job 節點完成各自的轉換、過濾、分發等 ETL 工作,快速實現日誌類場景的數據清洗及數據加工,轉爲目標格式之後轉存入 COS、CLS 等第三方目標中,整體鏈路短,且無需開發額外數據流邏輯,即可直接在函數對日誌內容做處理,並實時投遞至日誌服務或永久存儲服務,日誌同步快,延時低。

<img src="https://main.qcloudimg.com/raw/d594be30cde89a0f29c26b5beb80a019.jpg" width="700"/>

通過 CLS(源)+ 雲函數 + 第三方(目標)組合的解決方案可以給用戶帶來更低的研發成本、維護成本、價格成本。

傳統方案 Serverless 方案
開發 + 測試周期:7 days 開發 + 測試周期:1 day
維護成本:久 維護成本:0

<img src="https://main.qcloudimg.com/raw/4829487f18f67e586108889429eed791.jpg" width="700"/>

05. 雲函數 SCF 在數據處理中的優勢

下面統一看一下雲函數與傳統數據處理方式的優勢,如下圖所示,不管是架構設計、代碼開發、發佈部署、還是運維成本以及服務成本來說都有碾壓式的優勢。其中最大的特點有以下三點:

1. 消除傳統海量服務器組件的需求,降低開發和運維複雜性。

2. 實現按需調用、按需伸縮、按使用付費。

3. 開發者或者企業可以專注業務的開發、提升競爭力。

<img src="https://main.qcloudimg.com/raw/edc421c39ff8ca01382007fe5b1217c3.jpg" width="700"/>

<img src="https://main.qcloudimg.com/raw/258815b210dbabf8012f79c440896dd7.jpg" width="700"/>

06. 雲函數 SCF 在數據處理的展望

在這個數據時代,數據處理的場景以及規模越來越大,能夠使開發者快速部署一套完整的數據處理、數據分析的應用也越來越 “急迫”,雲函數正在逐步打通更多的雲上產品,完善更多的應用場景和應用框架供開發者使用,不僅僅侷限於 Serverless+ 騰訊雲產品,SCF + AI、SCF + IoT、SCF + 遊戲等等也是我們下一步探索的方向。

One More Thing

立即體驗騰訊雲 Serverless Demo,領取 Serverless 新用戶禮包 👉 騰訊雲 Serverless 新手體驗

歡迎訪問:Serverless 中文網

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章