“無(wú)服務(wù)器/serverless是什么蛛芥?”
“微服務(wù)器是什么?”
“FaaS是什么军援?”
這是筆者在研究時(shí)曾碰到過(guò)的一些問(wèn)題仅淑。看了大神們的解答胸哥,理解如下涯竟。理解可能略有淺薄,之后會(huì)不斷學(xué)習(xí)持續(xù)更新:
1. 無(wú)服務(wù)器/serverless是什么空厌?
- 服務(wù)器是什么庐船?
1)“高配版”計(jì)算機(jī)。是計(jì)算機(jī)的一種嘲更,結(jié)構(gòu)差不多筐钟,需要cpu、硬盤赋朦、內(nèi)存等篓冲。更高配,運(yùn)算能力宠哄、數(shù)據(jù)存庫(kù)空間更強(qiáng)壹将,使其能在短時(shí)間內(nèi)完成大量工作及負(fù)載大量的文件資料存儲(chǔ)。
2)作用:在網(wǎng)絡(luò)中為其它機(jī)器提供計(jì)算或應(yīng)用服務(wù)毛嫉。
3)配套技術(shù):①服務(wù)器需要7*24小時(shí)工作诽俯,需要穩(wěn)定性技術(shù)RAS(可靠性、可用性和可維護(hù)性狱庇,Reliability, Availability and Serviceability)惊畏;②ECC恶耽,修正錯(cuò)誤存儲(chǔ)器;③服務(wù)器OS颜启,Linux發(fā)行版(紅帽企業(yè)Linux偷俭、SUSE)、Windows Server等
4)分類:網(wǎng)頁(yè)服務(wù)器(Web server)缰盏、FTP服務(wù)器(FTP server)涌萤、郵件服務(wù)器(mail server)...
2. 分布式架構(gòu)是什么?微服務(wù)器是什么口猜?無(wú)服務(wù)器是什么负溪?
一種架構(gòu)。此外還有分布式架構(gòu)济炎、微服務(wù)架構(gòu)川抡、單體架構(gòu)
1)分布式架構(gòu):將一個(gè)系統(tǒng)分為多個(gè)業(yè)務(wù)模塊,不同模塊部署在不同的服務(wù)器
分布式=多個(gè)模塊分布在多個(gè)server
優(yōu)點(diǎn):有負(fù)載均衡能力须尚,防高并發(fā)崖堤;解耦、系統(tǒng)擴(kuò)展方便
缺點(diǎn):系統(tǒng)之間需要遠(yuǎn)程通信耐床,接口開發(fā)工作量大
現(xiàn)實(shí)中架構(gòu)不會(huì)那么簡(jiǎn)單密幔。稍微復(fù)雜一些的話:
2)微服務(wù)架構(gòu):進(jìn)一步拆解模塊,變成很多小應(yīng)用/微服務(wù)撩轰。微服務(wù)部署在服務(wù)器或(同一個(gè)服務(wù)器的)容器上胯甩。代表框架有Spring cloud、Dubbo等
優(yōu)點(diǎn):易于開發(fā)和維護(hù)堪嫂、開發(fā)和交付節(jié)奏加快偎箫;容易改;易拓展溉苛;團(tuán)隊(duì)權(quán)責(zé)清晰
缺點(diǎn):運(yùn)維成本高镜廉,因?yàn)閼?yīng)用實(shí)例變多;接口調(diào)整成本高愚战;一些功能重復(fù)管理
出現(xiàn)微服務(wù)治理賽道:微服務(wù)之間的通信娇唯、調(diào)用鏈的跟蹤管理、狀態(tài)監(jiān)控寂玲、錯(cuò)誤跟蹤排查等
3)Serverless:開發(fā)者不用管底層服務(wù)器塔插、資源。需要用的時(shí)候直接找“平臺(tái)”拓哟,獲得計(jì)算資源想许。按調(diào)用次數(shù)計(jì)費(fèi)
和其它架構(gòu)的核心區(qū)別:別的架構(gòu)需要申請(qǐng)一定數(shù)量、規(guī)格(CPU、內(nèi)存流纹、存儲(chǔ)空間)的服務(wù)器糜烹。serverless不需要用戶申請(qǐng),有需要平臺(tái)自動(dòng)分配(“事件驅(qū)動(dòng)”)
不等于沒有服務(wù)器漱凝。而是用戶無(wú)需在意是否有服務(wù)器疮蹦,以及服務(wù)器運(yùn)維
優(yōu)點(diǎn):簡(jiǎn)化設(shè)備運(yùn)維,應(yīng)用和服務(wù)器解耦茸炒,不用維護(hù)基礎(chǔ)設(shè)施愕乎;開發(fā)速度提高;降低運(yùn)營(yíng)成本
缺點(diǎn):vendor-lock-in壁公,和云廠商綁定感论。例如用AWS的serverless,只能用AWS的數(shù)據(jù)庫(kù)
技術(shù)尚不成熟紊册,缺少成功案例和行業(yè)標(biāo)準(zhǔn)
遺留問(wèn)題:現(xiàn)在主流的是什么比肄?微服務(wù)?
3. Serverless怎么用湿硝?FaaS是什么薪前?
Serverless本質(zhì)上是個(gè)“理念”润努。實(shí)現(xiàn)的方法之一是用云廠商提供的FaaS服務(wù)
Function-as-a-Service关斜,"函數(shù)即服務(wù)"
什么是函數(shù)?
有個(gè)輸入铺浇,需要一定處理痢畜,獲得輸出。所有應(yīng)用開發(fā)本質(zhì)上就是寫“函數(shù)”
什么是FaaS鳍侣?
是個(gè)計(jì)算平臺(tái)丁稀。寫應(yīng)用/程序的開發(fā)者,可以直接寫&跑函數(shù)倚聚,不用管服務(wù)器线衫、資源等
產(chǎn)品是什么?
包括:AWS Lambda(最早的)惑折、Azure Functions授账、Google Cloud Functions、騰訊云 Serverless Cloud Fucntion...
給誰(shuí)用惨驶?
絕大多數(shù)程序白热、服務(wù)都能改成FaaS
遺留問(wèn)題:
serverless需要FaaS+BaaS。BaaS是什么粗卜?
如何構(gòu)建一個(gè)serverless的應(yīng)用case屋确?
參考資料:感謝各位大神答疑!
四種軟件架構(gòu),看看你屬于哪個(gè)層次攻臀,http://www.reibang.com/p/e7b992a82dc0
【Faas科普】云計(jì)算的未來(lái): Serverless/Faas https://www.youtube.com/watch?v=EixgGyxbIWY