999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Serverless的前端開(kāi)發(fā)模式研究

2019-12-16 01:48:12李莎莎
電腦知識(shí)與技術(shù) 2019年29期
關(guān)鍵詞:設(shè)計(jì)思路

李莎莎

摘要:最近關(guān)于Serverless的研究逐步升溫,Serverless將對(duì)前端開(kāi)發(fā)模式產(chǎn)生變革性的影響。該文主要從前端開(kāi)發(fā)模式的演進(jìn)、ServerZess的優(yōu)點(diǎn)和缺點(diǎn)以及Serverless設(shè)計(jì)思路等方面,探討Serverless中的前端開(kāi)發(fā)模式。

關(guān)鍵詞:Serverless;前端開(kāi)發(fā);設(shè)計(jì)思路

中圖分類號(hào):TP3 文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2019)29-0240-02

1概述

回顧前端開(kāi)發(fā)模式的演進(jìn),主要有四個(gè)階段:(1)基于模板渲染的動(dòng)態(tài)頁(yè)面;(2)基于AJAX的前后端分離;(3)基于Node.js的前端工程化;(4)基于Node.is的全棧開(kāi)發(fā)。每一次前端開(kāi)發(fā)模式的變化,都因某個(gè)變革性的技術(shù)而起。先是AJAX,而后是Node.js。那么下一個(gè)變革性的技術(shù)是什么?不言而喻,就是Serverless。最近半年Serverless這個(gè)詞匯以及其引發(fā)的熱烈的討論,Serverless可能會(huì)是接下來(lái)引起前端領(lǐng)域革命性變化的技術(shù)之一。Serverless是一種“無(wú)服務(wù)器架構(gòu)”,允許用戶專注于業(yè)務(wù)邏輯,而無(wú)需擔(dān)心程序的運(yùn)行環(huán)境,資源和數(shù)量。對(duì)業(yè)務(wù)前端開(kāi)發(fā)人員而言,Serverless會(huì)改變前后端接口定義規(guī)范;將改變前端聯(lián)合模式,讓前端參與服務(wù)器邏輯開(kāi)發(fā);顯著降低Nodejs服務(wù)器維護(hù)閾值,只要您編寫Js代碼來(lái)維護(hù)Node服務(wù)而無(wú)須學(xué)習(xí)Devops。對(duì)于免費(fèi)的開(kāi)發(fā)人員,未來(lái)的服務(wù)器部署更靈活,更具成本效益;部署更快,更不容易出錯(cuò)。

前端框架總是帶來(lái)后端思維,而Serverless則為前端操作和維護(hù)帶來(lái)了前端思維。前端開(kāi)發(fā)人員不需要擁有自己的服務(wù),甚至不需要自己的瀏覽器,他們可以在每個(gè)用戶的計(jì)算機(jī)上均勻地運(yùn)行JS代碼并進(jìn)行負(fù)載均衡。從技術(shù)角度來(lái)說(shuō),Serverless就是FaaS和BaaS的結(jié)合。Serverless=FaaS+BaaS。FAAS(作為服務(wù))+BAAS(后臺(tái)即服務(wù))可以稱為無(wú)服務(wù)器的完整實(shí)現(xiàn),如圖1所示。除此之外,還有PASS(平臺(tái)即服務(wù))的概念。通常,平臺(tái)環(huán)境由容器技術(shù)實(shí)現(xiàn),最終實(shí)現(xiàn)NoOps(無(wú)管理),或至少Devops(開(kāi)發(fā)操作和維護(hù))。

2Serverless的優(yōu)點(diǎn)及缺點(diǎn)

2.1Serverless主要優(yōu)點(diǎn)

Serverless架構(gòu)的優(yōu)點(diǎn)如下:

(1)降低運(yùn)營(yíng)成本。Serverless是非常簡(jiǎn)單的外包解決方案。它允許您委托服務(wù)提供商來(lái)管理服務(wù)器,數(shù)據(jù)庫(kù),應(yīng)用程序甚至邏輯,或者您必須自己維護(hù)它。由于該服務(wù)的用戶數(shù)量將非常大,因此將具有規(guī)模經(jīng)濟(jì)。降低成本有兩個(gè)方面,即基礎(chǔ)設(shè)施成本和人員成本(運(yùn)營(yíng)/開(kāi)發(fā))。

(2)降低開(kāi)發(fā)成本。成功的無(wú)服務(wù)器服務(wù)提供商應(yīng)該能夠提供一系列補(bǔ)充服務(wù)。這意味著您只需要在配置文件中記下數(shù)據(jù)庫(kù)的名稱,然后我們的數(shù)據(jù)將存儲(chǔ)在相應(yīng)的數(shù)據(jù)庫(kù)中。即使一個(gè)服務(wù)提供者提供了一系列功能計(jì)算模板,那么我們只需要編寫我們的配置。這一系列事情可以自動(dòng)有效地完成。

(3)擴(kuò)展能力。Serverless架構(gòu)一個(gè)顯而易見(jiàn)的優(yōu)點(diǎn)即“水平擴(kuò)展是完全自動(dòng)的,彈性的,并由服務(wù)提供商管理”。受益于基礎(chǔ)架構(gòu)的最大好處是,您只需支付所需的計(jì)算能力。

(4)更簡(jiǎn)單的管理。Servefless架構(gòu)明顯比其他架構(gòu)更簡(jiǎn)單。更少的組件意味著更少的管理開(kāi)銷。

(5)實(shí)現(xiàn)快速上線。對(duì)于Web項(xiàng)目,啟動(dòng)項(xiàng)目需要一系列”hello,world”。無(wú)服務(wù)器部署的優(yōu)勢(shì)使其易于上線。

(6)“綠色”的計(jì)算。據(jù)“福布斯”雜志報(bào)道,商業(yè)和企業(yè)數(shù)據(jù)中心的典型服務(wù)器僅提供平均最大處理能力輸出的5%至15%。這無(wú)疑是一種資源的巨大浪費(fèi)。隨著無(wú)服務(wù)器架構(gòu)的出現(xiàn),服務(wù)提供商能夠提供我們的計(jì)算能力,以最大限度地滿足實(shí)時(shí)需求;這將使我們能夠更有效地利用計(jì)算資源。

2.2Serverless主要缺點(diǎn)

作為在運(yùn)行時(shí)啟動(dòng)的應(yīng)用程序,Serverless也有一個(gè)我們需要的問(wèn)題。

(1)不適合長(zhǎng)時(shí)間運(yùn)行應(yīng)用。Serverless在請(qǐng)求到來(lái)時(shí)才運(yùn)行。這意味著當(dāng)應(yīng)用程序未運(yùn)行時(shí),它將進(jìn)入“休眠狀態(tài)”,并且下次請(qǐng)求到來(lái)時(shí),應(yīng)用程序?qū)⑿枰粋€(gè)啟動(dòng)時(shí)間,即冷啟動(dòng)。這個(gè)時(shí)候,可以結(jié)合CRON的方式或者CloudWatch來(lái)定期喚醒應(yīng)用。如果您的應(yīng)用程序需要長(zhǎng)時(shí)間不間斷運(yùn)行并處理大量請(qǐng)求,那么您可能無(wú)法采用無(wú)服務(wù)器架構(gòu)。

(2)完全依賴于第三方服務(wù)。當(dāng)您決定使用云服務(wù)時(shí),您只能在無(wú)服務(wù)器上放置不重要的API。當(dāng)您擁有大量基礎(chǔ)架構(gòu)時(shí),無(wú)服務(wù)器并不是一件好事。使用無(wú)服務(wù)器架構(gòu)時(shí),它與特殊服務(wù)提供商捆綁在一起。服務(wù)遷移變得困難。

(3)冷啟動(dòng)時(shí)間。無(wú)服務(wù)器應(yīng)用程序的冷啟動(dòng)時(shí)間存在問(wèn)題,盡管這種冷啟動(dòng)時(shí)間在大多數(shù)情況下可以在50ms內(nèi)。對(duì)于帶有Node.js應(yīng)用程序虛擬機(jī)的Java和C#,這可能不是那么幸運(yùn)。

(4))缺乏調(diào)試和開(kāi)發(fā)工具。當(dāng)使用Serverless Framework的時(shí)候,遇到了這樣的問(wèn)題:缺乏調(diào)試和開(kāi)發(fā)工具。每次調(diào)試都需要反復(fù)上傳代碼。每次上傳似乎都在部署服務(wù)器。

(5)構(gòu)建復(fù)雜:Serverless便宜并不意味著簡(jiǎn)單。無(wú)服務(wù)器框架的配置比普通的Lambda配置稍微復(fù)雜一些。但是真正的應(yīng)用場(chǎng)景遠(yuǎn)比這復(fù)雜。

(6)語(yǔ)言版本落后。在Node.js 6出來(lái)的時(shí)候,AWS Lambda只支持Node.js 4-3.2;在Node.js 9.0出來(lái)的時(shí)候,AWS Lambda支持到6.10.3。對(duì)于Java和Pvthon來(lái)說(shuō),他們的版本上可能基本都是夠用的,我不知道C#怎么樣。但是Node.js的版本顯然是有點(diǎn)老舊的,但是都Node js 9.2.0了。

2.3Serverless給后臺(tái)帶來(lái)的好處

未來(lái)后端開(kāi)發(fā)的經(jīng)驗(yàn)可能類似于前端:您無(wú)須關(guān)心運(yùn)行代碼的服務(wù)器,您不需要關(guān)心服務(wù)器環(huán)境,不必?fù)?dān)心負(fù)載平衡,并且可以隨時(shí)調(diào)用中間件服務(wù)。盡管前后端共享代碼不止有Serverless才能做到。但是,無(wú)服務(wù)器基于功能粒度的功能更符合前后多路復(fù)用代碼的概念。雖然這不是一項(xiàng)新發(fā)明,但它足以被稱為一項(xiàng)偉大的變革。對(duì)于前端開(kāi)發(fā)人員,您會(huì)發(fā)現(xiàn)后臺(tái)服務(wù)很簡(jiǎn)單。對(duì)于后端開(kāi)發(fā)人員來(lái)說(shuō),發(fā)現(xiàn)服務(wù)更厚,面臨更多挑戰(zhàn)。

無(wú)服務(wù)器為后端帶來(lái)的好處遠(yuǎn)遠(yuǎn)超過(guò)了挑戰(zhàn):

(1)推進(jìn)前后端一體化。進(jìn)一步降低Node編寫服務(wù)器代碼的門檻,消除了應(yīng)用程序操作的學(xué)習(xí)成本。

(2)提高資源利用效率。消除獨(dú)占資源的應(yīng)用,切換到按需加載將不可避免地減少不必要的資源消耗,并將服務(wù)分散到集群中的每臺(tái)機(jī)器以平衡集群的CPU水位。

(3)降低云平臺(tái)使用門檻。無(wú)操作和維護(hù),靈活擴(kuò)展,基于價(jià)值的服務(wù)和高可用性。

3Serverless設(shè)計(jì)思路

3.1利用Serverless嘗試服務(wù)開(kāi)放

現(xiàn)在的挑戰(zhàn)之一是后端功能是開(kāi)放的,因?yàn)楫?dāng)您具有提取功能的自定義要求時(shí),您可能需要自定義后端數(shù)據(jù)處理的邏輯。你現(xiàn)在可以做的是使用maven3和jdk7來(lái)構(gòu)建本地開(kāi)發(fā)環(huán)境測(cè)試。如果后端構(gòu)建獨(dú)特的無(wú)服務(wù)器BAAS服務(wù),您可以執(zhí)行在線編碼,調(diào)試甚至灰度發(fā)布,以便像前端組件一樣進(jìn)行預(yù)測(cè)試。現(xiàn)在前端云開(kāi)發(fā)有很多成熟的探索。

3.2Serverless應(yīng)用架構(gòu)設(shè)計(jì)

根據(jù)市面上流行的無(wú)服務(wù)器應(yīng)用程序架構(gòu)圖并總結(jié)了一個(gè)通用的無(wú)服務(wù)器架構(gòu),如圖2所示。

底層是實(shí)現(xiàn)復(fù)雜服務(wù)的后端微服務(wù)(Backend)。然后,F(xiàn)aaS層通過(guò)一系列功能實(shí)現(xiàn)業(yè)務(wù)邏輯,并為前端提供直接服務(wù)。對(duì)于前端開(kāi)發(fā)人員,前端可以通過(guò)編寫函數(shù)來(lái)實(shí)現(xiàn)服務(wù)器的邏輯。對(duì)于后端開(kāi)發(fā)者來(lái)說(shuō),后端變得更靠后了。如果業(yè)務(wù)相對(duì)簡(jiǎn)單,可以實(shí)現(xiàn)FaaS層,甚至不需要微服務(wù)層。同時(shí),無(wú)論是后端還是前端,我們都可以調(diào)用云計(jì)算平臺(tái)提供的BaaS服務(wù),大大降低了開(kāi)發(fā)難度,降低了開(kāi)發(fā)成本。小程序云開(kāi)發(fā)是直接在前端調(diào)用BaaS服務(wù)的一個(gè)示例。

4總結(jié)

現(xiàn)在的前端開(kāi)發(fā)不再是過(guò)去的前端開(kāi)發(fā),前端不僅可以做網(wǎng)頁(yè),還可以做小程序,做APP,做桌面程序,甚至做服務(wù)器。前端不斷擴(kuò)大其邊界并不斷探索更多領(lǐng)域的原因是希望它能夠產(chǎn)生更大的價(jià)值。最好用熟悉的工具和熟悉的方法創(chuàng)造價(jià)值。無(wú)服務(wù)器架構(gòu)的誕生將幫助前端工程師實(shí)現(xiàn)理想的最大化。使用Serverless,您無(wú)需過(guò)多關(guān)注服務(wù)器的操作和維護(hù)。我們需要關(guān)注的事情越來(lái)越少,但我們可以做得更多。在未來(lái),Serverless平臺(tái)還可以在如下方向進(jìn)行發(fā)展:添加更多語(yǔ)言,改進(jìn)基于Web的IDE的功能,配置更多技能,并整合自動(dòng)化測(cè)試系統(tǒng)。無(wú)服務(wù)器也將對(duì)前端開(kāi)發(fā)模型做出巨大改變,前端工程師的功能將回歸應(yīng)用工程師的功能。

猜你喜歡
設(shè)計(jì)思路
吉祥物設(shè)計(jì)的關(guān)鍵要素與設(shè)計(jì)思路初探
基于成本控制視角的集團(tuán)預(yù)算激勵(lì)機(jī)制設(shè)計(jì)
新時(shí)期綠色建筑的結(jié)構(gòu)設(shè)計(jì)研究
建筑設(shè)計(jì)中舊建筑改造的設(shè)計(jì)思路及相關(guān)闡述
微課在職業(yè)院校英語(yǔ)教學(xué)中的教學(xué)設(shè)計(jì)思路探討
水利工程建筑的設(shè)計(jì)思路分析
基于中高職銜接的稅收課程設(shè)計(jì)研究 
基于人本管理的企業(yè)薪酬體系設(shè)計(jì)思路探索
商情(2016年43期)2016-12-23 14:33:57
文言文的閱讀教學(xué)改革的一點(diǎn)嘗試
飛機(jī)零件標(biāo)準(zhǔn)化的設(shè)計(jì)思路和應(yīng)用價(jià)值
科技視界(2016年23期)2016-11-04 21:37:59
主站蜘蛛池模板: 一区二区自拍| 波多野结衣一二三| 国产精品视频公开费视频| 精品国产免费第一区二区三区日韩| 青青操视频在线| 99爱视频精品免视看| 久久黄色视频影| 四虎成人精品| 国产在线一二三区| 爽爽影院十八禁在线观看| 中文字幕在线永久在线视频2020| 国产成人盗摄精品| 免费无遮挡AV| 情侣午夜国产在线一区无码| 尤物精品视频一区二区三区| 亚洲精品国产综合99久久夜夜嗨| 婷婷色中文| 国产丝袜一区二区三区视频免下载| 四虎永久免费地址在线网站| 成人福利在线观看| 在线看国产精品| 国产色爱av资源综合区| 亚洲精品国产首次亮相| 九色免费视频| 成人a免费α片在线视频网站| 欧洲欧美人成免费全部视频| 自拍偷拍欧美| 欧美色99| 久久免费看片| 久久6免费视频| 色综合中文字幕| 色综合a怡红院怡红院首页| 国产精品久久久久久搜索 | 亚洲综合色婷婷| 波多野结衣AV无码久久一区| 最新国产高清在线| 国产97视频在线| 青草精品视频| 99热免费在线| 亚洲男人的天堂久久精品| 日韩一区二区三免费高清| 欧亚日韩Av| 欧美自慰一级看片免费| 色综合成人| 毛片视频网| 亚洲系列中文字幕一区二区| 欧美激情第一欧美在线| 中文字幕欧美日韩| 亚洲精品桃花岛av在线| 亚洲无码免费黄色网址| 麻豆精品久久久久久久99蜜桃| 国产成人高清在线精品| 国产福利免费视频| 国产精品第| 欧美日韩在线成人| 美女被狂躁www在线观看| 久久香蕉国产线| 久久美女精品| 亚洲全网成人资源在线观看| 国产一级视频久久| 国产va免费精品| Jizz国产色系免费| 57pao国产成视频免费播放| 青青草原国产| 99re视频在线| 久久黄色影院| 狼友视频一区二区三区| 无码高潮喷水在线观看| 亚洲国产成人在线| 91探花国产综合在线精品| 野花国产精品入口| 97青青青国产在线播放| 国产视频a| 亚洲国产欧美目韩成人综合| 欧美日韩一区二区在线免费观看 | 国产区人妖精品人妖精品视频| 三上悠亚一区二区| AV片亚洲国产男人的天堂| 亚洲国产第一区二区香蕉| 久久精品人妻中文系列| 在线欧美一区| 免费一极毛片|