国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Serverless單體架構(gòu)的崛起

這篇具有很好參考價值的文章主要介紹了Serverless單體架構(gòu)的崛起。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在過去的幾十年里,我們見證了應(yīng)用架構(gòu)以快速的速度演變。當(dāng)我還是一個年輕的程序員時,開始編寫一個簡單的代碼庫,我們可以稱之為單體應(yīng)用。

我記得為前端編寫了一些HTML/CSS,后端用了一些Java。但后來,隨著時代發(fā)展和需求改變,分布式架構(gòu)(我們現(xiàn)在稱之為“微服務(wù)”)應(yīng)運而生。

單體應(yīng)用的衰落

這暫且不談單體應(yīng)用如何變得越來越不受歡迎,但需要開發(fā)者開始鼓吹微服務(wù)卻是事實。

通常,微服務(wù)提供了以下好處:

  • 微服務(wù)更小,更容易維護(hù)。
  • 減少了團(tuán)隊之間的摩擦。每個團(tuán)隊可以獨立地處理每個微服務(wù)。
  • 編寫速度更快(不需要遵循現(xiàn)有且有時繁瑣的架構(gòu))。
  • 團(tuán)隊使用最適合任務(wù)的工具(例如,處理大量JSON數(shù)據(jù)?也許可以使用Node.js。需要高性能?也許可以考慮Rust。只有Ruby開發(fā)者?那么Ruby似乎是解決方案)。
  • 減少認(rèn)知負(fù)荷,這意味著每個開發(fā)者只需要了解代碼的一個子集,而不是整個代碼庫。

關(guān)于微服務(wù)的誤解

然而,經(jīng)?;蛘哂袝r,過度使用微服務(wù)也存在一些缺點:

  • 代碼重復(fù):一些代碼(數(shù)據(jù)或函數(shù))在多個倉庫之間重復(fù)出現(xiàn),這會導(dǎo)致共享庫與單一倉庫的分歧和爭論。
  • 事務(wù)處理復(fù)雜:處理多個微服務(wù)之間的事務(wù)具有一定的挑戰(zhàn)性,并需要額外的模式(Saga、事件溯源等)。
  • 增加認(rèn)知負(fù)荷:取決于上下文的不同,可能會極大地增加認(rèn)知負(fù)荷。每個開發(fā)人員不僅需要知道微服務(wù)能夠做什么/應(yīng)該做什么,還需要知道它可以/應(yīng)該與哪些其他微服務(wù)進(jìn)行通信。
  • 易受故障影響:在幾乎所有的場景中,都更容易受到故障的影響:數(shù)據(jù)庫連接、網(wǎng)絡(luò)延遲、緩存、異常等。

但是,任何明智的開發(fā)者都會告訴你,對于任何架構(gòu)選擇,答案總是“看具體情況”。

單體與微服務(wù)的平衡

單體與微服務(wù)之爭中,一個設(shè)計良好的、高度解耦的架構(gòu)只需要處理最多四個不同的部分:

  • UI,也稱為前端(front-end)
  • BFF,即面向前端的后臺(Backend For Frontend),或者說是單一前端的后端(Backend for a Single Frontend, BSF)
  • 傳統(tǒng)后端,充當(dāng)前端和數(shù)據(jù)之間的粘合劑。稱之為 BFD (Backend For Database) 或多BSF的后端。
  • 數(shù)據(jù)庫,也稱為數(shù)據(jù)庫及其查詢機(jī)制。

Serverless單體架構(gòu)的崛起,架構(gòu),serverless,架構(gòu),云原生

從熟悉的模式中,我們已經(jīng)擁有合適的技術(shù)棧:

  • 前端框架(Angular、React、Vue、Svelte 等)
  • 使用適當(dāng)技術(shù)的 BFF(簡單的 REST API?node.js 中的 GraphQL 服務(wù)器?)
  • 一個傳統(tǒng)的后端(暫且稱之為BFD),再次使用適當(dāng)?shù)募夹g(shù)(另一個REST API?一個高性能的gRPC服務(wù)器?)
  • 最后是所需的最小數(shù)據(jù)庫數(shù)量(關(guān)系數(shù)據(jù)庫和/或文檔數(shù)據(jù)庫和/或圖數(shù)據(jù)庫和/或搜索引擎)

如果我們重視簡單性,還有改進(jìn)的空間。我們還應(yīng)該商定需要技術(shù)棧的每個部分的比例:

  • 至少一個前端,但你可以無限擴(kuò)展這個數(shù)字,無論是在編寫微型前端、大量的 web 應(yīng)用程序,還是兩者兼而有之
  • 一個前端 = 一個 BFF,如果我們遵循邏輯
  • 一個傳統(tǒng)的后端,你可以根據(jù)需要將其拆分成 N 個微服務(wù)。但是,如果我們使用單體架構(gòu),那就說 1 個吧。
  • 每個類型的數(shù)據(jù)庫至少一個。假設(shè)我們需要 3 種類型的數(shù)據(jù)庫來滿足中等規(guī)模的應(yīng)用程序。

Serverless單體架構(gòu)的崛起,架構(gòu),serverless,架構(gòu),云原生

N = (2 * UI) + (1 * BFD) + (3 * DB) 

正如俗話所說,“少即是多”,因此我們的目標(biāo)是嘗試將這個數(shù)字 (N) 減少到絕對最低。

進(jìn)入Serverless單體架構(gòu)時代

前端元框架的興起

過去我們見證了一個令人難以置信的演變,那就是誕生了眾多前端元框架。其中最著名的有 Next.js、Remix 和 SvelteKit。

一個元框架的目標(biāo)是同時處理前端的前端和后端(是的,當(dāng)你這樣說的時候,這聽起來并不聰明)。換句話說,這意味著使用單一技術(shù)構(gòu)建 UI + BFF。

而且,由于如今的云和托管解決方案,我們可以輕松以無服務(wù)器模式部署元框架。

Serverless單體架構(gòu)的崛起,架構(gòu),serverless,架構(gòu),云原生

N = META-FRAMEWORK + (1 * BFD) + (3 * DB)

從這里開始,我們?yōu)槊總€前端減少了 1 個技術(shù)!

Serverless數(shù)據(jù)庫時代

目前,圍繞數(shù)據(jù)庫作為服務(wù)(DaaS)的解決方案或者說后端作為服務(wù)(BaaS)正在興起。BaaS的目標(biāo)是提供應(yīng)用程序所需的所有功能,以便你無需在后端編寫一行代碼。你只需要在你的BFF中編寫查詢,就完成了。

最著名的BaaS無疑是Firebase,它提供了許多功能,如實時文檔數(shù)據(jù)庫、身份驗證服務(wù)、數(shù)據(jù)庫之上的權(quán)限機(jī)制、文件系統(tǒng)存儲等等。

然而,F(xiàn)irebase也有一些嚴(yán)重的限制:

  • Firebase 數(shù)據(jù)庫,無論是 Realtime 數(shù)據(jù)庫還是 Firestore,都是單模型數(shù)據(jù)庫(文檔數(shù)據(jù)庫)。
  • 它只能作為一個單向圖進(jìn)行遍歷(如果我們可以將其視為圖的話)。

還有另一個叫做Supabase的著名BaaS,試圖與Firebase相媲美。使用類似PostgreSQL的關(guān)系型數(shù)據(jù)庫消除了Firebase的一些限制,但它仍然是單模型數(shù)據(jù)庫…

最近引起我注意的一個項目是SurrealDB。它是一個帶有內(nèi)置后端的數(shù)據(jù)庫,具有許多許多功能(我覺得“許多”這個詞寫得還不夠)。作為一個真正的多模型數(shù)據(jù)庫,并且有一種新的查詢語言,他們能夠提供應(yīng)該讓你寫一些代碼的功能。

最近,這種類型的數(shù)據(jù)庫被越來越廣泛地稱為元數(shù)據(jù)庫。

Serverless單體架構(gòu)的崛起,架構(gòu),serverless,架構(gòu),云原生

N = META-FRAMEWORK + META-DATABASE

從那里開始,我們在另一個層面上大大減少了技術(shù)數(shù)量。

附加內(nèi)容:利用單一倉庫架構(gòu)

與微服務(wù)一樣,編寫單體應(yīng)用意味著擁有正確的工具箱。這個工具箱可以解決我們通常遇到的約束,比如:

  • 太龐大以至于無法失敗,一個簡單的錯誤可能會導(dǎo)致整個服務(wù)崩潰
  • 長時間部署,編譯大型項目通常需要很長時間。
  • 無法跨團(tuán)隊隔離和共享的單一代碼庫。

使用這種架構(gòu),對純凈和全面的單體架構(gòu)(前端 + 后端)的需求就不再存在。然而,元框架是超過 80% 的代碼將駐留的部分。為此,現(xiàn)在有一些工具可以使用,例如 turborepo。

我們還沒有提到的一個不可避免的需求是數(shù)據(jù)庫腳本遷移。當(dāng)然,這些腳本需要存儲在單獨的倉庫中,沒有什么復(fù)雜的。文章來源地址http://www.zghlxwxcb.cn/news/detail-759690.html

到了這里,關(guān)于Serverless單體架構(gòu)的崛起的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 云原生架構(gòu)的核心技術(shù)(微服務(wù)、DevOps、容器云、Service Mesh、Serverless、聲明式API)

    云原生架構(gòu)的核心技術(shù)(微服務(wù)、DevOps、容器云、Service Mesh、Serverless、聲明式API)

    天上飛的理念??????????,必然有落地的實現(xiàn) 文章介紹 讀完本文,你將對云原生下的核心概念微服務(wù)、DevOps、容器云、Service Mesh、Serverless、Immutable Infrastructure、Declarative-API等有一個詳細(xì)的了解,幫助你快速掌握云原生的核心和要點。 IaaS(Infrastructure-as-a-Service基

    2024年02月03日
    瀏覽(23)
  • Serverless Devs 重大更新,基于 Serverless 架構(gòu)的 CI/CD 框架:Serverless-cd

    近日,Serverless 開發(fā)者平臺 Serverless Devs 重磅發(fā)布基于 Serverless 架構(gòu)的輕量級 CI/CD 框架—— Serverless-cd 。Serverless-cd 是一款運行在 Serverless 架構(gòu)上的功能強大而靈活,安全,低成本的CI/CD開源框架。該框架基于 Serverless Devs 開發(fā)者工具打造,通過 Serverless-cd開發(fā)者可以快速構(gòu)建企

    2024年02月02日
    瀏覽(25)
  • 無服務(wù)架構(gòu)--Serverless

    無服務(wù)架構(gòu)(Serverless Architecture)即無服務(wù)器架構(gòu),也被稱為函數(shù)即服務(wù)(Function as a Service,F(xiàn)aaS),是一種云計算模型,用于構(gòu)建和部署應(yīng)用程序,無需關(guān)心底層服務(wù)器的管理。 在無服務(wù)器架構(gòu)中,開發(fā)人員編寫單獨的函數(shù)或函數(shù)集合,這些函數(shù)以事件驅(qū)動的方式觸發(fā),并在

    2024年02月09日
    瀏覽(22)
  • 從函數(shù)計算到 Serverless 架構(gòu)

    從函數(shù)計算到 Serverless 架構(gòu)

    作者:秋雨陳 隨著 Serverless 架構(gòu)不斷發(fā)展,各云廠商和開源社區(qū)都已經(jīng)布局 Serverless 領(lǐng)域,一方面表現(xiàn)在云廠商推出傳統(tǒng)服務(wù)/業(yè)務(wù)的 Serverless 化版本,或者 Serverless 計算平臺;另一方面表現(xiàn)在開源社區(qū)中 Serverless 項目逐漸豐富起來,無論是平臺類還是工具類的開源項目、或

    2024年01月18日
    瀏覽(14)
  • Serverless架構(gòu)的理論基礎(chǔ)和發(fā)展歷程

    隨著云計算技術(shù)的不斷發(fā)展,越來越多的企業(yè)開始將應(yīng)用遷移到云端。在這個過程中,Serverless架構(gòu)逐漸成為了一種熱門的技術(shù)選擇。Serverless架構(gòu)是一種基于事件驅(qū)動的計算模型,它允許開發(fā)者在不管理底層服務(wù)器的情況下構(gòu)建和運行應(yīng)用程序。本文將介紹Serverless架構(gòu)的理論

    2024年02月01日
    瀏覽(22)
  • 詳解 Serverless 架構(gòu)的 6 大應(yīng)用場景

    詳解 Serverless 架構(gòu)的 6 大應(yīng)用場景

    Serverless 架構(gòu)將成為未來云計算領(lǐng)域重要的技術(shù)架構(gòu),將會被更多的業(yè)務(wù)所采納。進(jìn)一步深究,Serverless 架構(gòu)在什么場景下有優(yōu)秀的表現(xiàn),在什么場景下可能表現(xiàn)得并不是很理想呢?或者說,有哪些場景更適合 Serverless 架構(gòu)呢? Serverless 架構(gòu)的應(yīng)用場景通常是由其特性決定的,

    2024年02月03日
    瀏覽(15)
  • 鴻蒙原生應(yīng)用元服務(wù)實戰(zhàn)-Serverless華為賬戶認(rèn)證登錄需盡快適配

    鴻蒙原生應(yīng)用元服務(wù)實戰(zhàn)-Serverless華為賬戶認(rèn)證登錄需盡快適配

    一、ArkTSAPI9,服務(wù)器端基于serverless開發(fā)的應(yīng)用與元服務(wù)華為賬號注冊登錄功能暫時是不支持的 二、3月1日后的審核要求 3月1日的時間是快到了。 三、會導(dǎo)致的結(jié)果 使用了ArkTSAPI9,服務(wù)器端基于serverless開發(fā)的應(yīng)用與元服務(wù),如果要每個應(yīng)用元服務(wù)去自己開發(fā)適配的話,不知

    2024年02月21日
    瀏覽(23)
  • 實戰(zhàn)指南 | Serverless 架構(gòu)下的應(yīng)用開發(fā)

    實戰(zhàn)指南 | Serverless 架構(gòu)下的應(yīng)用開發(fā)

    UC Berkeley認(rèn)為Serverless架構(gòu)的出現(xiàn)過程類似于40多年前從匯編語言轉(zhuǎn)向高級語言的過程,在未來Serverless架構(gòu)的使用會飆升,或許服務(wù)器式云計算并不會消失,但是將促進(jìn)BaaS發(fā)展,以更好地為Serverless架構(gòu)提供支持。 Serverless 架構(gòu)的應(yīng)用開發(fā)流程 基于 Serverless 架構(gòu)的應(yīng)用開發(fā)流程

    2024年02月12日
    瀏覽(20)
  • HarmonyOS/OpenHarmony原生應(yīng)用開發(fā)-華為Serverless云端服務(wù)支持說明(一)

    HarmonyOS/OpenHarmony原生應(yīng)用開發(fā)-華為Serverless云端服務(wù)支持說明(一)

    云端服務(wù)的實現(xiàn)是 HarmonyOS/OpenHarmony原生應(yīng)用開發(fā)的一個重要的環(huán)節(jié),如果用戶端是鴻蒙原生應(yīng)用,但是服務(wù)端即云端還是基于傳統(tǒng)的各種WEB網(wǎng)絡(luò)框架、數(shù)據(jù)庫與云服務(wù)器,那么所謂的原生應(yīng)用開發(fā)實現(xiàn)的數(shù)據(jù)即后端服務(wù)是和以前、現(xiàn)在的互聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)應(yīng)用是一樣的,等

    2024年02月07日
    瀏覽(31)
  • 什么是無服務(wù)器架構(gòu)Serverless?有哪些優(yōu)勢?

    什么是無服務(wù)器架構(gòu)Serverless?有哪些優(yōu)勢?

    Serverless架構(gòu)是云的自然延伸,我們回顧一下云計算IaaS和PaaS的發(fā)展,2006年AWS推出EC2(Elastic Compute Cloud),作為第一代IaaS(Infrastructure as a Service),用戶可以通過AWS快速的申請到計算資源,并在上面部署自己的互聯(lián)網(wǎng)服務(wù)。IaaS從本質(zhì)上講是服務(wù)器租賃并提供基礎(chǔ)設(shè)施外包服務(wù)

    2024年01月24日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包