產品功能
更新時間 2025-01-13 16:37:15
最近更新時間: 2025-01-13 16:37:15
分享文章
本章主要介紹天翼云函數工作流的各項功能。
函數管理
提供控制臺管理函數。
- 函數支持Node.js、Java、Python、Go等多種運行時語言,同時支持用戶自定義運行時,說明如下表所示。
說明建議使用相關語言的最新版本。
表 運行時語言說明
| 運行時語言 | 支持版本 |
|---|---|
| Node.js | 6.10、8.10、10.16、12.13、14.18、16.17、18.15 |
| Python | 2.7、3.6、3.9、3.10 |
| Java | 8.0、11 |
| Go | 1.x、1.8 |
| C# | .NET Core 2.0、.NET Core 2.1、.NET Core 3.1 |
| PHP | 7.3 |
| 定制運行時 | - |
- 函數支持多種代碼導入方式
支持在線編輯代碼、OBS文件引入、上傳ZIP包等方式。不同運行時支持的代碼上傳方式如下表所示。
表 代碼上傳方式說明
| 運行時 | 在線編輯 | 上傳ZIP文件 | 上傳JAR包 | 從OBS上傳文件 |
|---|---|---|---|---|
| Node.js | 支持 | 支持 | 不支持 | 支持 |
| Python | 支持 | 支持 | 不支持 | 支持 |
| Java | 不支持 | 支持 | 支持 | 支持 |
| Go | 不支持 | 支持 | 不支持 | 支持 |
| C# | 不支持 | 支持 | 不支持 | 支持 |
| PHP | 支持 | 支持 | 不支持 | 支持 |
| 定制運行時 | 支持 | 支持 | 不支持 | 支持 |
日志和監控
提供調用函數的監控指標和運行日志的采集和展示,實時的圖形化監控指標展示,在線查詢日志,方便用戶查看函數運行狀態和定位問題。
初始化功能
引入initializer接口:
- 分離初始化邏輯和請求處理邏輯,程序邏輯更清晰,讓用戶更易寫出結構良好,性能更優的代碼。
- 用戶函數代碼更新時,系統能夠保證用戶函數的平滑升級,規避應用層初始化冷啟動帶來的性能損耗。新的函數實例啟動后能夠自動執行用戶的初始化邏輯,在初始化完成后再處理請求。
- 在應用負載上升,需要增加更多函數實例時,系統能夠識別函數應用層初始化的開銷,更精準的計算資源伸縮的時機和所需的資源量,讓請求延時更加平穩。
函數流
函數流是用來編排FunctionGraph函數的工具,可以將多個函數編排成一個協調多個分布式函數任務執行的工作流。
用戶通過在可視化的編排頁面,將事件觸發器、函數和流程控制器通過連線關聯在一個流程圖中,每個節點的輸出作為連線下一個節點的輸入。編排好的流程會按照流程圖中設定好的順序依次執行,執行成功后支持查看工作流的運行記錄,方便您輕松地診斷和調試。
函數流功能特性和優勢:
-
功能特性
- 函數可視化編排
- 函數流執行引擎
- 錯誤處理
- 可視化監控
-
優勢
- 使用更少代碼快速構建應用程序函數流允許用戶將函數組合編排成一個完整的應用程序,而無需進行代碼編寫。可以實現快速構建,快速上線。當業務調整時,可以快速調整流程,完成快速上線,無需編寫任何代碼。
- 完善的錯誤處理機制。支持對流程中發生的錯誤進行捕獲和重試,用戶可以進行靈活的異常處理。
- 可視化的編排和監控體驗。通過拖拽進行流程編排,學習成本低,可以快速上手。監控頁面使用流程可視化的查看方式,可以做到快速識別問題位置。
HTTP函數
HTTP函數專注于優化 Web 服務場景,用戶可以直接發送 HTTP 請求到 URL 觸發函數執行。在函數創建編輯界面增加類型。HTTP函數只允許創建APIG/APIC的觸發器類型,其他觸發器不支持。
自定義鏡像
支持用戶直接打包上傳容器鏡像,由平臺加載并啟動運行,調用方式與HTTP函數類似。與原本上傳代碼方式相比,用戶可以使用自定義的代碼包,不僅靈活也簡化了用戶的遷移成本。