函式計算如何粘合雲服務,提供端到端解決方案

2021-10-12 03:50:08 字數 1864 閱讀 7557

作者 | 西流  阿里雲技術專家

首先我們來看下單體應用裡面常見的兩個程式設計模型,如上圖所示,一種是 ui-driven,另外一種是 message-driven。單體應用這種體系結構,客戶端可能相對不那麼智慧型,系統中的許多邏輯(比如身份驗證、頁面導航、搜尋、交易等)由伺服器應用程式實現,隨著業務邏輯複雜度的增長,服務端的應用程式會越發膨脹和難以維護。

而在 message-driven 非同步訊息處理這種模式中,需要使用者實現乙個常駐的、彈性高可用的消費者服務。為了更專注具體業務邏輯的開發,對乙個龐大的單體應用進行拆解,充分利用雲服務體系結構是乙個非常好的解決方案。在這裡,最大的關鍵是如何為應用程式的各個元件選擇和使用正確的雲服務,而通過函式作為粘合劑來串聯雲上的託管服務,就是乙個非常好的實踐。

如上圖所示,ui-driven 切換到 serverless 架構以後:

message-driven 切換到 serverless 架構以後:

與單體應用示例相比,這裡改動很小,同時使用 faas 功能替換了長期存在的訊息消費者應用程式,訊息消費的高可用**給了雲平台去負責。

目前,在很多的人的第一印象中,一般將 faas,也就是 fucntion as a service(函式即服務)等同於 serverless,比如阿里雲的函式計算、aws 的 lambda,但是實際上有許多其他的雲服務也是 serverless,他們和 fc 一起構建成完整的 serverless 應用,讓使用者完全聚焦他最上層和核心的原始業務。

比如,使用者直接使用 api 閘道器,就可以從 api 限流、鑑權等許多 api 層面上需要考慮的繁雜工作中解放出來;直接使用 serverless 的 nosql 資料庫 tablestore 或者物件儲存 oss 來持久化資料,替代自己管理資料庫例項;使用 sls 或者 datahub 從外部系統收集資料流;使用訊息服務 mns/mq 來管理訊息等。

使用者可以使用乙個個函式將這些 serverless 服務串聯起來,從而達到構建具體複雜的業務邏輯和應用的目標。在這裡,使用者也可以選擇 serverless 工作流來編排函式和其他雲服務,簡化了開發和執行業務流程(比如自己去編寫**進行任務協調、狀態管理、錯誤處理以及重試等繁瑣工作),讓使用者聚焦業務邏輯開發。當然,使用者也可以使用阿里雲提供的開發工具鏈來簡化自動化部署和持續整合。使用這些開箱即可使用的工具可以幫助使用者快速達到想要的目標和效果。

如果是乙個龐大複雜的單體應用或者是乙個面向服務體系的架構,開發者需要負責所有的事情,包括**的編寫、管理和部署資料庫以及其他相關的後端服務等,切換到 servrless 架構,可以看到:特定的模組交由特定的託管雲服務去處理,之後再使用實現了具體業務**的函式將它們串聯起來,也實現了解耦。為了使這種架構運轉得更有效率,事件驅動是乙個必不可少的特性,比如使用者嘗試往 oss 上傳乙個檔案或者更新**儲存會自動做一些邏輯處理,對於開發者來說,最關心的是什麼樣的事件可以觸發我的編寫邏輯。

這裡有乙個有趣的例子:

如上圖所示,使用者上傳檔案,產生訊息事件觸發了 fc 函式執行,處理生成了縮圖,並將縮圖儲存至物件儲存 oss,之後觸發了另乙個 fc 函式,將產生的更新資訊寫入**儲存資料庫,最後再觸發乙個 fc 函式,完成搜尋模組的更新。整個過程中檔案處理儲存、搜尋服務、**儲存資料庫服務被幾個 fc 函式粘合為乙個業務處理邏輯。

參考文章:

雲計算是什麼,阿里雲提供哪些雲服務

雲計算是什麼 咱們先從廣義上理解一下什麼是雲計算 雲計算主要提供便捷的 可配置的計算資源共享池 資源包括網路,伺服器,儲存,應用軟體,服務 而這些資源都非常容易和方便地被獲取和使用。如果還不是很明白,我就給大家舉乙個例子。如果把上面提到的這些資源比喻成自來水,那麼阿里雲就是一家 自來水廠 當你想要用...

討論雲計算提供的三種服務型別

雲計算的三種服務模型 基礎設施即服務 iaas 平台即服務 paas 軟體即服務 saas 基礎設施即服務 雲 處理 儲存 網路以及其他基礎性的計算源,以供使用者部署或執行自己的軟體,包括作業系統或應用。使用者並不管理或控制底層的雲基礎設施,但是擁有對作業系統 儲存和部署應用的控制,以及一些網路組建...

以雲到端創新變革醫療健康服務模式

目前由於疾病譜 生態環境 生活方式的不斷變化,讓我國面臨著多重疾病威脅並存 多種健康影響因素交織的複雜局面。所以為了達到高質量 高效率的醫療服務能力打破這一局面,醫療行業正在積極使用創新技術,借鑑其他行業的經驗和架構體系解決業務問題。同時擁抱 網際網路 將現有的便民服務通過網際網路的手段提供給患者。...