国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Serverless Streaming:毫秒級流式大文件處理探秘

jf_81200783 ? 來源:jf_81200783 ? 作者:jf_81200783 ? 2023-03-21 10:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

背景

企業(yè)應用從微服務架構向 Serverless(無服務器)架構演進,開啟了無服務器時代,面向無服務器計算領域的 Serverless 工作流也應運而生。許多 Serverless 應用程序不是由單個事件觸發(fā)的簡單函數,而是由一系列函數多個步驟組成的,而函數在不同步驟中由不同事件觸發(fā)。Serverless 工作流用于將函數編排為協調的微服務應用程序。

Serverless 工作流由于自身可編排、有狀態(tài)、持久化、可視化監(jiān)控、異常處理、云服務集成等特性,適用于很多應用場景,比如:復雜度高需要抽象的業(yè)務(訂單管理,CRM 等)、業(yè)務需要自動中斷 / 恢復能力,如多個任務之間需要人工干預的場景(人工批,部署流水線等)、業(yè)務需要手動中斷 / 恢復(數據備份 / 恢復等)、需要詳細監(jiān)控任務執(zhí)行狀態(tài)的場景、流式處理(日志分析,圖片 / 視頻處理等)

當前大部分 Serverless Workflow 平臺更多關注控制流程的編排,忽視了工作流中數據流的編排和高效傳輸,上述場景 1-4 中,由于數據流相對簡單,所以各大平臺支持都比較好,但是對于文件轉碼等存在超大數據流的場景,當前各大平臺沒有給出很好的解決方案。華為云 FunctionGraph 函數工作流針對該場景,提出了 Serverless Streaming 的流式處理方案,支持毫秒級響應文件處理。本文將以圖片處理的場景作為例子詳細描述當前的問題以及華為云 FunctionGraph 函數工作流在面對該問題時采取的一系列實踐。

問題描述

先以一個圖片處理的場景舉例,用戶想要執(zhí)行一個圖片壓縮并且加水印的任務,這個場景在典型的工作流系統(tǒng)中,可以用如圖一所示的方式進行處理。

poYBAGQZGFmAJUePAAF-nLGKLzs454.jpg

如上圖所示,圖片壓縮和圖片加水印的結果都是二進制文件格式,但是當前主流的 Serverless Workflow 平臺在多個步驟之間傳輸上下文都只能支持文本格式傳輸,所以圖片壓縮和加水印的結果都需要經過 BASE64 或者其他轉碼方式轉成文本進行數據流傳輸。

但是這種方案的限制和使用成本都比較高:

1、函數的 Response Body 通常有大小限制,所以這種方式無法處理超大文件。2、執(zhí)行結果轉換為文本,需要消耗大量內存,內存成本比較高。

如何簡單高效的進行文件處理,業(yè)界也給出了其他解決方案,如通過云存儲進行中間結果轉儲、AWS 的 Lambda Object 文件轉換方案。下面給出了這兩個方案的優(yōu)缺點分析。

方案一:中間結果通過云存儲進行轉儲

該方案如圖所示:

pYYBAGQZGFqACvBdAAFhg66oejM608.jpg

兩個步驟之間的文件流通過云存儲去傳遞,這種方案支持大文件流的傳輸,但是由于中間多了一次到云存儲的網絡傳輸,如果業(yè)務對時延要求不高,該方案問題不大,但是對于時延敏感類業(yè)務,這種多出的時延是無法接受的。另外云存儲轉儲需要額外的成本,如果調用量比較大,使用成本較高。

方案二:AWS Lambda Object

poYBAGQZGFuAXv6TAAJMDvoRo8U021.jpg

AWS 對于這種文件處理場景,提出了基于 S3 和 Lambda 的 Lambda Object 的方案,參考 [1],簡單來說,是支持為 S3 文件桶的 getObject API 提供 Access Point,AccessPoint 可以指向某一個 Lambda 函數,在函數中可以對原來的桶數據文件進行修改,比如可以將原始視頻轉碼,得到轉碼后的結果返回到客戶端。雖然解決了時延和大文件處理的問題,但是這個方案強依賴 S3 的 API,用戶無法進行流程編排,也無法通過事件觸發(fā),不是一個真正通用的方案。

業(yè)界方案總結

簡單總結如表 1 所示,當前業(yè)界提供的各個方案或多或少存在一些局限性,沒有辦法在同時滿足低時延的情況下支持可編排的文件處理。然而低時延和可編排都是大量客戶所追求的關鍵能力,如何解決這些關鍵痛點,提升客戶體驗,成為了當前我們重點想要攻克的難題。

業(yè)界文件處理方案對比

pYYBAGQZGFyAchSOAAFCpDjQSF4823.jpg

華為云 FunctionGraph 的 Serverless Streaming 流式處理方案

針對當前業(yè)界缺少高效,可編排的文件處理方案的痛點,華為云 FunctionGraph 函數工作流提出 Serverless Streaming 的流式可編排的文件處理解決方案,步驟與步驟之間通過數據流驅動,更易于用戶理解。本章通過圖片處理的例子解釋該方案的實現機制。

如果需要驅動一個工作流執(zhí)行,工作流系統(tǒng)需要處理兩個部分:

1、控制流:控制工作流的步驟間流轉,以及步驟對應的 Serverless 函數的執(zhí)行。確保步驟與步驟之間有序執(zhí)行。

2、數據流:控制整個工作流的數據流轉,通常來說上一個步驟的輸出是下一個步驟的輸入,比如上述圖片處理工作流中,圖片壓縮的結果是打水印步驟的輸入數據。

在普通的服務編排中,由于需要精準控制各個服務的執(zhí)行順序,所以控制流是工作流的核心部分。然而在文件處理等流式處理場景中,對控制流的要求并不高,以上述圖片處理場景舉例,可以對大圖片進行分塊處理,圖片壓縮和加水印的任務不需要嚴格的先后順序,圖片壓縮處理完一個分塊可以直接流轉到下一個步驟,而不需要等待圖片壓縮把所有分塊處理完再開始加水印的任務。

基于上述理解,華為云 FunctionGraph 工作流的 Serverless Streaming 方案架構設計如圖所示:

poYBAGQZGF2AR8b7AAGH-Tp-tKw829.jpg

在Serverless Streaming 的流程中,弱化控制流中步驟之間的先后執(zhí)行順序,允許異步同時執(zhí)行,步驟與步驟之間的交互通過數據流驅動。其中數據流的控制通過 Stream Bridge 組件來實現。

同時函數 SDK 增加流式數據返回接口,用戶不需要將整個文件內容返回,而是通過 gRPC Stream 的方式將數據寫入到 Stream Bridge,Stream Bridge 用來分發(fā)數據流到下一個步驟的函數 Pod 中。

這種方式存在如下優(yōu)點:

1、由于控制流的弱化,完全通過數據流來驅動流程執(zhí)行,不需要再強限制步驟之間完成的先后順序,如圖片處理場景中,壓縮和加水印的步驟可以做到完全并行執(zhí)行,這樣可以加速整個流程的執(zhí)行速度。

2、每次請求都開辟獨立緩沖區(qū),緩沖區(qū)限制大小,數據流僅在內網傳輸,保證整體數據傳輸的可靠性和安全性。

3、不依賴其他外部服務,使用成本低。

4、對于開發(fā)人員來講,只需要關注數據流的處理,而不需要關心數據流如何轉發(fā),如何存儲,降低開發(fā)難度。

5、底層流式傳輸通過 gRPC 進行,整體數據傳輸效率高

在 FunctionGraph 中開發(fā)文件處理工作流 當前 FunctionGraph 已經基于上述方案支持了在函數工作流中進行數據流處理,并且將結果通過流數據的方式返回到客戶端,以構建一個圖片處理工作流舉例:

1、首先創(chuàng)建一個圖片壓縮的函數,其中代碼在處理返回數據通過 ctx.Write() 函數將結果以流式數據的形式返回:

poYBAGQZGF-AWixOAAFuJqw2C-s012.jpg

FunctionGraph 通過 ctx.Write() 函數提供了流式返回的能力,對開發(fā)者來說,只需要將最終結果通過流的方式返回,而不需要關注網絡傳輸的細節(jié)。

2、在函數控制臺中啟用該函數的流式返回能力

pYYBAGQZGGCAOhwVAABbay3eEY4320.jpg

3、用上面的方式完成其他函數的編寫,最后在 FunctionGraph 的函數流控制臺完成工作流編排,舉例如下:

poYBAGQZGGCAO4YkAAEwLFMWZ4Y016.jpg

4、調用工作流的同步執(zhí)行接口,獲取最終結果的文件流,數據將以 chunked 流式返回的方式返回到客戶端

使用效果

針對圖片處理的具體場景,我們測試對比了不同大小圖片(333k、1m、4m、7m、10m、12m)進行圖片切割和圖片壓縮的場景,由于 BASE64 轉碼方案無法支持大文件,AWS Lambda Object 方案無法支持編排,所以這里只對比使用 OBS 轉儲方案和基于流式返回的 Servlerss Streaming 方案的時延數據。具體對比數據圖表如下:

pYYBAGQZGGGANuDZAAApZjT-rtA741.jpg

響應時延:指客戶端發(fā)出請求到收到第一個字節(jié)消耗的時延(單位:秒)

端到端時延:指客戶端發(fā)出請求到收到最后一個字節(jié)消耗的時延(單位:秒)

從測試數據可以看出,響應時延和端到端時延使用流式返回方案后都得到了不同程度的降低。其中響應時延降低幅度較大,OBS 轉儲方案響應時延隨著圖片大小增大,響應時延呈線性上升,超過 4M 的圖片響應時延就達到秒級,使用流式返回方案后,響應時延持續(xù)穩(wěn)定在毫秒級的水平。從中可以發(fā)現,基于 Serverless Streaming 的流式返回方案不僅具備流式處理和可編排的能力,并且在文件處理場景中可以顯著降低時延,從多個方面提升了用戶使用體驗。

總結與展望

主要討論了 Serverless Workflow 在大文件處理時碰到的問題,FunctionGraph 通過簡化數據傳輸鏈路,提升文件流處理效率, 給出了一種穩(wěn)定高效、極低時延的大文件處理方法 Serverless Streaming,支持毫秒級的文件流式處理, 顯著改善函數編排在文件處理等場景中的用戶體驗。

FunctionGraph 作為華為元戎加持的下一代 Serverless 函數計算與編排服務,將圍繞通用全場景 Serverless 的前沿理論及案例實踐,持續(xù)分享。

審核編輯黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 流式
    +關注

    關注

    0

    文章

    3

    瀏覽量

    5444
  • serverless
    +關注

    關注

    0

    文章

    65

    瀏覽量

    4895
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    探秘MAX20845B:高性能 4x5 智能功率 IC

    探秘 MAX20844B/MAX20845B:高性能 4x5 智能功率 IC 作為電子工程師,在設計電源電路時,總是在尋找性能卓越、功能豐富且節(jié)省空間的功率解決方案。今天,我就為大家詳細介紹一款
    的頭像 發(fā)表于 02-04 16:20 ?157次閱讀

    人形機器人開發(fā)觀察:如何搞定全身40+關節(jié)的亞毫秒同步控制?

    人形機器人開發(fā)觀察:如何搞定全身40+關節(jié)的亞毫秒同步控制?
    的頭像 發(fā)表于 02-04 15:33 ?811次閱讀
    人形機器人開發(fā)觀察:如何搞定全身40+關節(jié)的亞<b class='flag-5'>毫秒</b><b class='flag-5'>級</b>同步控制?

    探秘Kyocera AVX TBJ系列COTS-Plus太空電容器

    探秘Kyocera AVX TBJ系列COTS-Plus太空電容器 在電子工程領域,對于太空等關鍵任務應用,電容器的性能和可靠性至關重要。Kyocera AVX的TBJ系列COTS-Plus太空
    的頭像 發(fā)表于 12-30 10:35 ?568次閱讀

    探秘TDK汽車NTC熱敏電阻:特性、使用與設計要點

    探秘TDK汽車NTC熱敏電阻:特性、使用與設計要點 在汽車電子系統(tǒng)中,溫度保護至關重要,而NTC(負溫度系數)熱敏電阻作為關鍵的溫度傳感器,發(fā)揮著不可或缺的作用。今天,我們就來深入了解一下TDK
    的頭像 發(fā)表于 12-25 17:30 ?1197次閱讀

    毫秒響應不夠快?安科瑞ASCP限流式保護器,微秒切斷短路電弧

    ,使得火災數量呈上升。傳統(tǒng)斷路器動作響應慢、短路電流峰值大,難以阻斷瞬間爆發(fā)的電弧火災,而單一的事前預警設備又無法在故障發(fā)生時實現快速處置。在此背景下,電氣防火限流式保護器應運而生——它以微秒極速響應、主動限流滅弧的核心優(yōu)勢,既能在短
    的頭像 發(fā)表于 12-01 13:53 ?256次閱讀
    <b class='flag-5'>毫秒</b><b class='flag-5'>級</b>響應不夠快?安科瑞ASCP限<b class='flag-5'>流式</b>保護器,微秒<b class='flag-5'>級</b>切斷短路電弧

    破解工業(yè)電商痛點:vipmro 商品詳情接口技術方案與性能調優(yōu)指南

    vipmro工業(yè)MRO商品詳情接口針對參數嵌套、大文件加載、批量查詢等痛點,構建多維參數解析、分級緩存、標準化錯誤三大引擎,實現高并發(fā)下毫秒響應,助力電商接口高效適配工業(yè)品復雜場景。
    的頭像 發(fā)表于 10-29 17:32 ?208次閱讀

    毫秒響應!配網行波故障預警與定位裝置煥新效率

    在電力配網運行中,故障預警與定位始終是保障供電可靠性的關鍵環(huán)節(jié)。一旦發(fā)生線路短路、接地等故障,故障區(qū)域的持續(xù)停電會給工業(yè)生產、居民生活帶來巨大影響。而如今,配網行波故障定位裝置的出現,以其“毫秒
    發(fā)表于 09-03 13:45

    中科曙光讓氣象數據解碼邁入毫秒時代

    依托曙光超智融合與液冷技術,某氣象大數據云平臺的數據并發(fā)處理能力躍升顯著,數據解碼速度進入毫秒時代,為我國氣象數值預測現代化建設注入澎湃動力。
    的頭像 發(fā)表于 07-31 17:17 ?1151次閱讀

    大文件高效傳輸不求人!Ymodem協議實戰(zhàn)示例與核心技巧揭秘

    無需復雜網絡環(huán)境,Ymodem協議即可實現可靠的大文件傳輸!通過其簡潔的通信機制(如SOH幀頭、數據分塊、ACK/NACK反饋),無論是單片機通信還是跨平臺傳輸,本文示例將演示如何快速部署,并
    的頭像 發(fā)表于 07-28 17:38 ?1123次閱讀
    <b class='flag-5'>大文件</b>高效傳輸不求人!Ymodem協議實戰(zhàn)示例與核心技巧揭秘

    安科瑞ASCP限流式保護器已上新,配合云平臺構建充電樁毫秒安全堡壘

    1政策要求 2ASCP防火限流保護器 安科瑞防火限流保護器具有以下特點: 快速限流保護 :當線路發(fā)生短路故障時,能在150微秒內實現快速限流保護,相比傳統(tǒng)斷路器的毫秒響應,速度提升近百倍,可有
    的頭像 發(fā)表于 07-09 16:35 ?871次閱讀
    安科瑞ASCP限<b class='flag-5'>流式</b>保護器已上新,配合云平臺構建充電樁<b class='flag-5'>毫秒</b><b class='flag-5'>級</b>安全堡壘

    安科瑞ASCP限流式保護器筑牢充電樁毫秒安全防線

    安科瑞 劉芳 咨詢家:acrel-js 政策要求 限流式保護器能氣什么作用 限流式保護器是兼具短路限流、過載保護與電弧抑止功能的電氣安全裝置,核心作用是在 1 毫秒內快速切斷故障電流,防止電氣火災
    的頭像 發(fā)表于 06-19 14:13 ?604次閱讀
    安科瑞ASCP限<b class='flag-5'>流式</b>保護器筑牢充電樁<b class='flag-5'>毫秒</b><b class='flag-5'>級</b>安全防線

    主流版本控制工具Git vs Perforce P4:架構模式、性能、大文件管理及分支管理對比詳解

    Git vs Perforce P4,如何選型?架構模式、性能、大文件管理、分支策略四大維度對比,幫你全面了解兩者的核心差異,選擇更合適你團隊需求的版本控制系統(tǒng)。
    的頭像 發(fā)表于 06-13 14:52 ?814次閱讀
    主流版本控制工具Git vs Perforce P4:架構模式、性能、<b class='flag-5'>大文件</b>管理及分支管理對比詳解

    HarmonyOS5云服務技術分享--Serverless抽獎模板部署

    提前準備一個二域名(后面托管要用) 二、部署模板四部曲 1?? ??模板選擇?? 進入AGC控制臺 → 云開發(fā) → Serverless模板 在模板市場找到\"抽獎活動模板\"
    發(fā)表于 05-22 20:25

    HarmonyOS5云服務技術分享--Serverless搭建抽獎

    ?【實戰(zhàn)指南】手把手教你用華為AGC Serverless模板快速搭建抽獎活動? 嗨各位開發(fā)者小伙伴!今天給大家分享一個超實用的技巧——用華為應用市場AGC的Serverless模板三分鐘搞定抽獎
    發(fā)表于 05-22 20:20

    鴻蒙文件傳輸三方庫上線開源鴻蒙社區(qū) 十行代碼實現大文件高速傳輸

    近日,華為在OpenHarmony社區(qū)上線了“super_fast_file_trans”文件傳輸三方庫(以下簡稱“SFFT”)。這一三方庫的推出,為開發(fā)者提供了一套支持大文件多線程并發(fā)分塊下載
    發(fā)表于 03-06 10:29