Serverless工作流(Serverless Workflow)是一個(gè)用來(lái)協(xié)調(diào)多個(gè)分布式任務(wù)執(zhí)行的全托管云服務(wù)。
在Serverless工作流中,您可以用順序、分支、并行等方式來(lái)編排分布式任務(wù),Serverless工作流會(huì)按照設(shè)定好的步驟可靠地協(xié)調(diào)任務(wù)執(zhí)行,跟蹤每個(gè)任務(wù)的狀態(tài)轉(zhuǎn)換,并在必要時(shí)執(zhí)行您定義的重試邏輯,以確保工作流順利完成。Serverless工作流通過(guò)提供日志記錄和審計(jì)來(lái)監(jiān)視工作流的執(zhí)行,方便您輕松地診斷和調(diào)試應(yīng)用。Serverless工作流簡(jiǎn)化了開(kāi)發(fā)和運(yùn)行業(yè)務(wù)流程所需要的任務(wù)協(xié)調(diào)、狀態(tài)管理以及錯(cuò)誤處理等繁瑣工作,讓您聚焦業(yè)務(wù)邏輯開(kāi)發(fā)。
下圖描述了Serverless工作流如何協(xié)調(diào)分布式任務(wù),這些任務(wù)可以是函數(shù)、已集成云服務(wù)API、運(yùn)行在虛擬機(jī)或容器上的程序。
產(chǎn)品優(yōu)勢(shì)
協(xié)調(diào)分布式組件
Serverless工作流能夠編排不同基礎(chǔ)架構(gòu)、不同網(wǎng)絡(luò)、不同語(yǔ)言編寫(xiě)的應(yīng)用,抹平混合云、專(zhuān)有云過(guò)渡到公共云或者從單體架構(gòu)演進(jìn)到微服務(wù)架構(gòu)的落差。
減少流程代碼量
Serverless工作流提供了豐富的控制邏輯,例如順序、選擇、并行等,讓您以更少的代碼實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)邏輯。
提高應(yīng)用容錯(cuò)性
Serverless工作流為您管理流程狀態(tài),內(nèi)置檢查點(diǎn)和回放能力,以確保您的應(yīng)用程序按照預(yù)期逐步執(zhí)行。錯(cuò)誤重試和捕獲可以讓您靈活的處理錯(cuò)誤。
Serverless
Serverless工作流根據(jù)實(shí)際執(zhí)行步驟轉(zhuǎn)換個(gè)數(shù)收費(fèi),執(zhí)行結(jié)束不再收費(fèi)。Serverless工作流自動(dòng)擴(kuò)展讓您免于管理硬件預(yù)算和擴(kuò)展。
功能特性
服務(wù)編排能力
Serverless工作流可以幫助您將流程邏輯與任務(wù)執(zhí)行分開(kāi),節(jié)省編寫(xiě)編排代碼的時(shí)間。例如圖片經(jīng)過(guò)人臉識(shí)別函數(shù)后,根據(jù)人臉位置剪裁圖像,最后發(fā)送消息通知您,Serverless工作流提供了一個(gè)Serverless的解決方案,降低了您的編排運(yùn)維成本。
協(xié)調(diào)分布式組件
Serverless工作流能夠協(xié)調(diào)在不同基礎(chǔ)架構(gòu)上、不同網(wǎng)絡(luò)內(nèi),以不同語(yǔ)言編寫(xiě)的應(yīng)用。應(yīng)用不管是從私有云/專(zhuān)有云平滑過(guò)渡到混合云或公共云,或者從單體架構(gòu)演進(jìn)到微服務(wù)架構(gòu),Serverless工作流都能發(fā)揮協(xié)調(diào)作用。
內(nèi)置錯(cuò)誤處理
通過(guò)內(nèi)置錯(cuò)誤重試和捕獲能力,您可以自動(dòng)重試失敗或超時(shí)的任務(wù),對(duì)不同類(lèi)型錯(cuò)誤做出不同響應(yīng),并定義回退邏輯。
可視化監(jiān)控
Serverless工作流提供可視化界面來(lái)定義工作流和查看執(zhí)行狀態(tài)。狀態(tài)包括輸入和輸出等。方便您快速識(shí)別故障位置,并快速排除故障問(wèn)題。
支持長(zhǎng)時(shí)間運(yùn)行流程
Serverless工作流可以跟蹤整個(gè)流程,持續(xù)長(zhǎng)時(shí)間執(zhí)行確保流程執(zhí)行完成。有些流程可能要執(zhí)行幾個(gè)小時(shí)、幾天、甚至幾個(gè)月。例如運(yùn)維相關(guān)的Pipeline和郵件推廣流程。
流程狀態(tài)管理
Serverless工作流會(huì)管理流程執(zhí)行中的所有狀態(tài),包括跟蹤它所處的執(zhí)行步驟,以及存儲(chǔ)在步驟之間的數(shù)據(jù)傳遞。您無(wú)需自己管理流程狀態(tài),也不必將復(fù)雜的狀態(tài)管理構(gòu)建到任務(wù)中。