


全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
無(wú)服務(wù)器架構(gòu)是最近一個(gè)比較熱的話(huà)題。我們也看到有很多的書(shū)籍、開(kāi)源框架和大量的產(chǎn)品在不斷涌現(xiàn),在一些技術(shù)大會(huì)上也有專(zhuān)門(mén)的主題。6月17日,MikeRobers在MartinFowler的博客網(wǎng)站上發(fā)布了一篇題為“無(wú)服務(wù)器架構(gòu)”的文章,引起了業(yè)界的諸多關(guān)注。在該文章中,他認(rèn)為無(wú)服務(wù)器是后端即服務(wù)(BaaS)和函數(shù)即服務(wù)(FaaS)的結(jié)合,并以AWSLambda產(chǎn)品為例探討了FaaS的特點(diǎn)、什么不是無(wú)服務(wù)器及需要考慮的其他相關(guān)問(wèn)題。他指出:就像很多軟件發(fā)展趨勢(shì)一樣,業(yè)界并沒(méi)有對(duì)“無(wú)服務(wù)器”有一個(gè)明確的說(shuō)法,即使它真的表示以下兩個(gè)不同而又重疊的領(lǐng)域也不會(huì)對(duì)此有所幫助:無(wú)服務(wù)器先用來(lái)描述那些顯著或完全依賴(lài)于第三方應(yīng)用或服務(wù)(“在云端”)的應(yīng)用程序。這些應(yīng)用程序依賴(lài)于第三方來(lái)管理服務(wù)器端邏輯和狀態(tài),它們都是典型“富客戶(hù)端”的應(yīng)用程序(你可以想象為單一頁(yè)面的Web應(yīng)用程序或移動(dòng)應(yīng)用),并采用云平臺(tái)提供的生態(tài)系統(tǒng),包括可訪問(wèn)的數(shù)據(jù)庫(kù)(如Parse、Firebase)、認(rèn)證服務(wù)(Auth0、AWSCognito)等。這些類(lèi)型的服務(wù)以前被描述為“(移動(dòng))后端即服務(wù)”。我在文中會(huì)用“BaaS”縮寫(xiě)來(lái)代替這樣的服務(wù)。無(wú)服務(wù)器還表示那些有服務(wù)器端邏輯的應(yīng)用仍然需要由開(kāi)發(fā)者來(lái)編寫(xiě)。不同于傳統(tǒng)的架構(gòu),它運(yùn)行在無(wú)狀態(tài)計(jì)算的容器中,這些容器由事件觸發(fā)的、是短暫的(也許僅僅只是一次調(diào)用)、并且完全由第三方管理。(感謝ThoughtWorks在他們最近的技術(shù)雷達(dá)的定義。)理解這個(gè)觀點(diǎn)的另一種方式是“函數(shù)即服務(wù)(FaaS)”,其中AWSLambda是目前最流行的FaaS實(shí)現(xiàn)之一。Mike主要分析了第二個(gè)領(lǐng)域,并用FaaS作為文中“無(wú)服務(wù)器”的代言詞。他認(rèn)為第二個(gè)領(lǐng)域相對(duì)較新,并且它和我們平常如何考慮技術(shù)架構(gòu)的方式有顯著的區(qū)別,也推動(dòng)了無(wú)服務(wù)概念周邊很多的炒作。他也提到了其實(shí)這些概念是相互關(guān)聯(lián)的,并在不斷合并。文中他給出了UI驅(qū)動(dòng)的應(yīng)用和消息驅(qū)動(dòng)的應(yīng)用兩個(gè)例子解釋了無(wú)服務(wù)架構(gòu)的設(shè)計(jì)以及不同。通過(guò)解讀AWSLamda產(chǎn)品描述,Mike在文中分享了他對(duì)于FaaS的幾個(gè)理解:從根本上說(shuō),F(xiàn)aaS是關(guān)于無(wú)需管理自己的服務(wù)器系統(tǒng)或者服務(wù)器應(yīng)用,就能夠運(yùn)行后端代碼的。FaaS不需要基于一個(gè)特定的框架或類(lèi)庫(kù)進(jìn)行編碼。無(wú)服務(wù)器應(yīng)用程序的運(yùn)行部署與傳統(tǒng)系統(tǒng)非常不同-我們將代碼上傳到FaaS服務(wù)提供商,它會(huì)幫我們做所有其他事情。水平擴(kuò)展是完全自動(dòng)的、彈性的,并且由服務(wù)提供商進(jìn)行管理。FaaS中的函數(shù)是由服務(wù)提供商定義的事件類(lèi)型觸發(fā)的。大多數(shù)服務(wù)提供商還允許函數(shù)被HTTP請(qǐng)求響應(yīng)觸發(fā),通常在某種API網(wǎng)關(guān)里。他同時(shí)也探討了FaaS在狀態(tài)、執(zhí)行時(shí)長(zhǎng)、啟動(dòng)延時(shí)、API網(wǎng)關(guān)、工具和開(kāi)源等方面的表現(xiàn)。他提到了FaaS在本地狀態(tài)的顯著約束,并可以這樣簡(jiǎn)單來(lái)理解:對(duì)于任何的函數(shù)調(diào)用,你所創(chuàng)建的進(jìn)程或者主機(jī)狀態(tài)不會(huì)有一個(gè)對(duì)隨后的調(diào)用可用,這包含了你寫(xiě)到內(nèi)存和硬盤(pán)上的狀態(tài)。換句話(huà)說(shuō),從部署單元角度來(lái)看,F(xiàn)aaS的函數(shù)是無(wú)狀態(tài)的。這對(duì)應(yīng)用架構(gòu)產(chǎn)生了巨大的影響。這通常意味著FaaS要么是純粹無(wú)狀態(tài)的,即提供輸入的純函數(shù)轉(zhuǎn)換;要么是利用數(shù)據(jù)庫(kù)、跨應(yīng)用緩存(如Redis)或者網(wǎng)絡(luò)文件存儲(chǔ)(如S3)的方式來(lái)存儲(chǔ)跨請(qǐng)求的狀態(tài)或處理請(qǐng)求需要的進(jìn)一步輸入。而對(duì)于執(zhí)行時(shí)間而言,F(xiàn)aaS函數(shù)的每次調(diào)用是有時(shí)間限制的。當(dāng)前AWSLamda函數(shù)不允許超過(guò)5分鐘,超過(guò)就會(huì)被中斷。這意味著長(zhǎng)任務(wù)并不適合FaaS,除非重新設(shè)計(jì)架構(gòu)。另外,F(xiàn)aaS函數(shù)的響應(yīng)時(shí)長(zhǎng)取決于很多的因素,也許會(huì)從10毫秒到2分鐘。Mike認(rèn)為如果你編寫(xiě)一個(gè)低延遲交易應(yīng)用,那么不管你使用什么語(yǔ)言實(shí)現(xiàn),可能都無(wú)法使用FaaS系統(tǒng)。那么Paas是無(wú)服務(wù)器嗎?在文中Mike引用了AdrianCockcroft的回答如果您的PaaS能夠高效地在20分鐘內(nèi)啟動(dòng)運(yùn)行半秒的實(shí)例,那么你可以稱(chēng)它為無(wú)服務(wù)器。Mike認(rèn)為:絕大多數(shù)PaaS應(yīng)用并不是著眼于將整個(gè)應(yīng)用的每個(gè)請(qǐng)求都來(lái)回切換,而FaaS平臺(tái)做的正是這一點(diǎn)。FaaS和PaaS之間的主要操作差異在于擴(kuò)展。對(duì)于大多數(shù)的PaaS來(lái)說(shuō),你仍然需要考慮規(guī)模,例如在Heroku你想運(yùn)行多少Dynos。而如果是FaaS的應(yīng)用,這完全是透明的。即使你將你的PaaS應(yīng)用程序設(shè)置為自動(dòng)擴(kuò)展,你也不會(huì)對(duì)單個(gè)請(qǐng)求進(jìn)行同樣的配置(除非你有一個(gè)非常特殊的流量描述文件),所以當(dāng)涉及到成本的時(shí)候,F(xiàn)aaS應(yīng)用會(huì)更高效。同時(shí)他也指出這并不意味著沒(méi)有運(yùn)維。這里要考慮兩個(gè)重要的事情:首先,“運(yùn)維”不僅僅意味著服務(wù)器管理。它也意味著監(jiān)控、部署、安全、網(wǎng)絡(luò),也意味著一定的產(chǎn)品問(wèn)題診斷和系統(tǒng)規(guī)模擴(kuò)展。這些問(wèn)題在無(wú)服務(wù)器應(yīng)用中仍然存在,你依舊需要應(yīng)對(duì)的策略。其次,即使仍然發(fā)生系統(tǒng)管理的工作,你也僅僅是將它們外包給無(wú)服務(wù)器平臺(tái)而已。最后Mike對(duì)存儲(chǔ)過(guò)程即服務(wù)的另一話(huà)題也進(jìn)行了探討,他認(rèn)為:這可能來(lái)自于一個(gè)事實(shí),即FaaS函數(shù)的許多例子(包括一些我在本文中使用的)都是少量訪問(wèn)數(shù)據(jù)庫(kù)的代碼。如果這就是我們可以使用FaaS的所有場(chǎng)景,那么我認(rèn)為這個(gè)名字是有幫助的。然而它實(shí)際上只是FaaS能力的一個(gè)子集。如果僅僅因?yàn)檫@個(gè)原因就形成這樣觀點(diǎn)的話(huà),那這限制是不合理的。同
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 老年社會(huì)工作實(shí)務(wù)知到智慧樹(shù)答案大全
- 海洋數(shù)字監(jiān)管體系完善
- 老爸的課件圖片素材
- 老年飲食護(hù)理課件
- 老年癡呆癥課件
- 老年護(hù)理培訓(xùn)教程課件
- 老年健康培訓(xùn)課件
- 機(jī)動(dòng)車(chē)抵押擔(dān)保合同范本
- 車(chē)床租賃與精密制造技術(shù)轉(zhuǎn)移合同
- 拆墻施工與歷史文化街區(qū)保護(hù)合同
- 中華民族共同體概論課件專(zhuān)家版9第九講 混一南北和中華民族大統(tǒng)合(元朝時(shí)期)
- 德宏傣族景頗族自治州緬籍“三非”人員管理問(wèn)題研究的開(kāi)題報(bào)告
- 肩周炎的中醫(yī)治療課件
- 骨科手術(shù)后的康復(fù)用具與輔助器具
- 小學(xué)特色課程《口風(fēng)琴課程》校本教材
- 《如何寫(xiě)文獻(xiàn)綜述》課件
- 汽車(chē)美容店計(jì)劃書(shū)案例
- 信息機(jī)房火災(zāi)事故應(yīng)急處置方案
- 統(tǒng)計(jì)職業(yè)道德規(guī)范內(nèi)容和要求
- GB/T 16886.12-2023醫(yī)療器械生物學(xué)評(píng)價(jià)第12部分:樣品制備與參照材料
- 人衛(wèi)慕課《走進(jìn)肺功能》試題答案
評(píng)論
0/150
提交評(píng)論