您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Serverless中微服務的優缺點和最佳實踐分析,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
Serverless是一種構建和管理基于微服務架構的完整流程,允許你在服務部署級別而不是服務器部署級別來管理你的應用部署。
它與傳統架構的不同之處在于,完全由第三方管理,由事件觸發,存在于無狀態(Stateless)、暫存(可能只存在于一次調用的過程中)計算容器內。構建無服務器應用程序意味著開發者可以專注在產品代碼上,而無須管理和操作云端或本地的服務器或運行時。Serverless真正做到了部署應用無需涉及基礎設施的建設,自動構建、部署和啟動服務。
微服務的概念非常適合Serverless功能的結構,可以輕松實現不同服務在部署和運行時隔離。在數據存儲方面,使用諸如DynamoDB之類的數據庫,還使得每個微服務都能擁有獨立的數據庫,并在需要獨立擴展它們時變得更加容易。
在我們深入研究細節之前,請考慮微服務對于你的特定項目和團隊而言,其好處是否大于其缺點。請不要因為“微服務是趨勢”,就要必須選擇它。單體架構(Monolith)也有他的適用場景。
調用功能時,Lambda會檢查microVM是否已激活。如果有空閑的microVM可用,它將用于服務新的傳入請求。在這種特殊情況下,沒有啟動時間,因為microVM已經啟動并且代碼包已在內存中。這稱為 熱啟動。
相反的方法-必須從頭開始提供新的microVM來滿足傳入的請求-被稱為 冷啟動。
確定服務邊界并非易事
更廣泛的攻擊面
服務編排開銷
同步計算和存儲并不容易
微服務(MicroService)是軟件架構領域業另一個熱門的話題。如果說微服務是以專注于單一責任與功能的小型功能塊為基礎,利用模組化的方式組合出復雜的大型應用程序,那么我們還可以進一步認為Serverless架構可以提供一種更加“代碼碎片化”的軟件架構范式,我們稱之為Function as a Services(FaaS)。
而所謂的“函數”(Function)提供的是相比微服務更加細小的程序單元。例如,可以通過微服務代表為某個客戶執行所有CRUD操作所需的代碼,而FaaS中的“函數”可以代表客戶所要執行的每個操作:創建、讀取、更新,以及刪除。當觸發“創建賬戶”事件后,將通過AWS Lambda函數的方式執行相應的“函數”。從這一層意思來說,我們可以簡單地將Serverless架構與FaaS概念等同起來。
關于Serverless中微服務的優缺點和最佳實踐分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。