函數(shù)工作流是一項(xiàng)基于事件驅(qū)動(dòng)的函數(shù)托管計(jì)算服務(wù)。通過(guò)函數(shù)工作流,只需編寫業(yè)務(wù)函數(shù)代碼并設(shè)置運(yùn)行的條件,無(wú)需配置和管理服務(wù)器等基礎(chǔ)設(shè)施,函數(shù)以彈性、免運(yùn)維、高可靠的方式運(yùn)行。
函數(shù)管理
提供控制臺(tái)管理函數(shù)。
函數(shù)支持Node.js、Java、Python、Go、C#等多種運(yùn)行時(shí)語(yǔ)言,同時(shí)支持用戶自定義運(yùn)行時(shí),說(shuō)明如表1所示。
表1運(yùn)行時(shí)語(yǔ)言說(shuō)明
工作流有哪些功能1.jpg)
函數(shù)支持多種代碼導(dǎo)入方式
支持在線編輯代碼、OBS文件引入、上傳ZIP包、上傳JAR包等方式。不同運(yùn)行時(shí)支持的代碼上傳方式如表2所示。
表2代碼上傳方式說(shuō)明
工作流有哪些功能2.jpg)
觸發(fā)器
函數(shù)支持 SMN 、APIG和OBS等多種類型觸發(fā)器。觸發(fā)器調(diào)用方式如表3所示。
表3函數(shù)觸發(fā)方式說(shuō)明
工作流有哪些功能3.jpg)
日志和監(jiān)控
提供調(diào)用函數(shù)的監(jiān)控指標(biāo)和運(yùn)行日志的采集和展示,實(shí)時(shí)的圖形化監(jiān)控指標(biāo)展示,在線查詢?nèi)罩?,方便用戶查看函?shù)運(yùn)行狀態(tài)和定位問(wèn)題。
日志的查詢過(guò)程請(qǐng)參考查詢?nèi)罩尽?/p>
單個(gè)監(jiān)控指標(biāo)請(qǐng)參考監(jiān)控函數(shù)。
租戶函數(shù)監(jiān)控指標(biāo)請(qǐng)參考總覽。
初始化功能
引入initializer接口:
分離初始化邏輯和請(qǐng)求處理邏輯,程序邏輯更清晰,讓用戶更易寫出結(jié)構(gòu)良好,性能更優(yōu)的代碼。
用戶函數(shù)代碼更新時(shí),系統(tǒng)能夠保證用戶函數(shù)的平滑升級(jí),規(guī)避應(yīng)用層初始化冷啟動(dòng)帶來(lái)的性能損耗。新的函數(shù)實(shí)例啟動(dòng)后能夠自動(dòng)執(zhí)行用戶的初始化邏輯,在初始化完成后再處理請(qǐng)求。
在應(yīng)用負(fù)載上升,需要增加更多函數(shù)實(shí)例時(shí),系統(tǒng)能夠識(shí)別函數(shù)應(yīng)用層初始化的開(kāi)銷,更精準(zhǔn)的計(jì)算資源伸縮的時(shí)機(jī)和所需的資源量,讓請(qǐng)求延時(shí)更加平穩(wěn)。