亚洲日本欧美日韩高观看,性高湖久久久久久久久,亚洲av成人噜噜无码网站,亚洲欧美日韩国产一区二区动图,亚洲欧美日韩国产精品一区二区


學AI,好工作 就找北大青鳥
關(guān)注小青 聽課做題,輕松學習
周一至周日
4000-9696-28

下一代技術(shù)架構(gòu)之serverless

來源:北大青鳥總部 2023年02月09日 16:31

摘要: 現(xiàn)在各大云廠商如AWS、阿里云、騰訊云都在投入重大精力去做serverless(無服務(wù)器)服務(wù),云計算正在經(jīng)歷從IAAS—>PAAS—>SAAS—>BAAS&FAAS的過渡。什么是serverless?今天小編帶大家體驗一波新技術(shù)。

當前在互聯(lián)網(wǎng)圈最如火如荼、大家干的熱火朝天、呼聲最高的事情莫過于微服務(wù)、上云了。

傳統(tǒng)的企業(yè)在嘟囔著數(shù)字化轉(zhuǎn)型,要將以前的單體式應用進行微服務(wù)化,要將自建的數(shù)據(jù)中心遷移到云廠商提供的云服務(wù)上(私有云或混合云)。然而這波未平、下波技術(shù)熱潮又來了,現(xiàn)在各大云廠商如AWS、阿里云、騰訊云都在投入重大精力去做serverless(無服務(wù)器)服務(wù),云計算正在經(jīng)歷從IAAS—>PAAS—>SAAS—>BAAS&FAAS的過渡。

那么什么是serverless?它的核心技術(shù)包含什么?具體又如何使用呢?今天小編帶大家體驗一波新技術(shù)。


什么是serverless?

關(guān)于serverless的定義,目前主要是引用MartinFowler在《serverlessArchitectures》中的定義,即充分與第三方協(xié)同、基于云的服務(wù)與應用,serverlesswas first used to describe applications that significantly or fullyincorporate third-party, cloud— hosted applications and services,to manage server-side logic andstate。簡單一點,望文生義,就是無服務(wù)器。這樣的解釋可能難以理解與消化,那么我們結(jié)合一個用戶請求如何運行的來給大家講解一下。

常見的web服務(wù)架構(gòu)如下,由用戶在客戶端發(fā)起一個請求,經(jīng)過服務(wù)器處理,期間調(diào)用數(shù)據(jù)庫等進行數(shù)據(jù)的存儲與運算,最后返回給客戶端結(jié)果,呈現(xiàn)給用戶。



如果我們拆分的再細一些,客戶端往服務(wù)器發(fā)送請求時,會需要身份認證、安全校驗、負載均衡等,最后才是業(yè)務(wù)函數(shù)進行業(yè)務(wù)邏輯的處理,那么上圖就有了新的方式。



在這個結(jié)構(gòu)下我們看到的是一堆函數(shù),已經(jīng)看不到服務(wù)器了,研發(fā)人員只需要關(guān)心應用程序本身的邏輯實現(xiàn)和狀態(tài),對于服務(wù)器的管理、服務(wù)之間的通信等全交由云廠商來完成。這就是serverless無服務(wù)器的由來。

serverless是在容器技術(shù)(docker)、微服務(wù)技術(shù)(servermesh)的技術(shù)上發(fā)展起來的,強調(diào)的是后端服務(wù)與服務(wù)器函數(shù)服務(wù)的結(jié)合與提供,它有兩大核心技術(shù):BAAS(backendas a service)、FAAS(functionas a service)。


核心技術(shù)講解

FAAS函數(shù)即服務(wù),即不需要管理服務(wù)器系統(tǒng),不需要自己編寫服務(wù)器應用程序,就可以直接運行后端代碼。比如文件存儲、數(shù)據(jù)存儲、推送服務(wù)等,可通過API驅(qū)動、郵件驅(qū)動、消息隊列驅(qū)動。

BAAS后端即服務(wù),即不用編寫、管理服務(wù)端軟件(如負載均衡、服務(wù)注冊等),使用通用的遠程組件來提供服務(wù)。相當于在微服務(wù)架構(gòu)中的常用組件如服務(wù)注冊中心eureka、服務(wù)網(wǎng)關(guān)zuul、服務(wù)配置中心zookeeper等的功能全由云廠商打包在一起提供了,不需要開發(fā)者再去維護這些組件與服務(wù)之間的調(diào)用關(guān)系。


使用serveless實現(xiàn)helloworld?

學習任何一門語言的第一課永遠都是helloworld,今天我們在騰訊云提供的云函數(shù)上來進行servelss的第一個課—helloworld。注冊登錄騰訊云后,選擇新建函數(shù),輸入名為helloworld的PHP函數(shù),選擇使用模板函數(shù)即可。



點擊下一步即可看到整個函數(shù)的index.php代碼



點擊運行,即可看到整個函數(shù)的執(zhí)行結(jié)果、執(zhí)行時間、運行內(nèi)存、運行時間、整個的執(zhí)行日志。



在這個過程中,除了業(yè)務(wù)代碼hello.world的執(zhí)行之外,其余的事情我們什么都沒有做,對不對?與后端的通信、服務(wù)器資源的管理等全都不用我們管,真正的實現(xiàn)了無服務(wù)器。我們也可通過看時機中的PHP函數(shù)是如何運行的來感知serverless的無服務(wù)器服務(wù)。

對于一個PHP應用來說,當用戶在前端發(fā)起請求之后,請求會傳遞到web服務(wù)器apache或nginx來接收用戶請求,接收用戶請求之后再傳遞給PHP-FGM解析器進行業(yè)務(wù)邏輯的處理,獲取結(jié)果后生成html數(shù)據(jù)返回給用戶。



而采用了serverless服務(wù)之后,對于服務(wù)器的管理這塊全交由云廠商來進行維護了,云函數(shù)的執(zhí)行環(huán)境實例就是Apache/Nginx。



在本次helloworld的執(zhí)行代碼中,main_handler函數(shù)的傳入?yún)?shù)context便是提供了執(zhí)行環(huán)境的上下文,而event就是驅(qū)動的事件。


雖然serverless簡化了整體的開發(fā)流程,但是也會存在一些問題,典型的問題有兩個。

1)調(diào)試不方便,因為太多的基礎(chǔ)服務(wù)都是云廠商提供的,在本地可能會因為內(nèi)網(wǎng)限制等原因?qū)е抡{(diào)試不方便,太過于依賴云廠商也導致想做遷移時也不方便。

2)冷啟動,剛剛提到serverless都是事件驅(qū)動型的,也就是說一般情況下都處于睡眠狀態(tài),啟動時間至少也要幾百毫秒或幾秒。對于有些業(yè)務(wù)來說,是不可忍受的。不過云廠商也在想辦法解決這些問題。


回過頭來看看,技術(shù)架構(gòu)的演變經(jīng)歷了從早期的單體式架構(gòu)、SOA架構(gòu)、微服務(wù)架構(gòu),再到serverless無服務(wù)架構(gòu)的階段,整個發(fā)展和人類經(jīng)濟的發(fā)展史也很像。

早期的時候生存生活的每件事情都自己做,比如小編今年想吃土豆,那必須從春天開始耕種,然后施肥、鋤草,再到秋天收獲,存儲糧倉,到年末時做成土豆大餐,這和單體式架構(gòu)完全承擔了應用程序的每個功能是一樣的。

隨著社會的發(fā)展,小編發(fā)現(xiàn)這樣的模式太累了,想吃玉米或者紅薯了也還得自己去播種耕耘,于是他就和隔壁種玉米的小A、種紅薯的小B商量,等到秋收成熟時,通過土豆去換他們的玉米、紅薯,到年末時,一頓美味的大餐就做成了,土豆玉米紅薯全都有,這和SOA架構(gòu)的核心原理是一樣的。整個業(yè)務(wù)拆分成了多個服務(wù),服務(wù)之間彼此合作,提升了業(yè)務(wù)的可用性和效率。

經(jīng)過了改革開放后,整個國家的經(jīng)濟像火箭一般的發(fā)展,小編也不再滿足于年末的土豆玉米紅薯了,他想吃螃蟹大蝦雞鴨魚肉,這時候整個社會的分工也開始進化了,有專門生產(chǎn)海鮮類,有專門提供果蔬類,有專門提供生禽類,這時候小編的年末大餐就變的豐富了,雞鴨魚肉海鮮螃蟹全都有了,這和微服務(wù)架構(gòu)把整個業(yè)務(wù)拆分成多個服務(wù),每個服務(wù)由不同的人來進行維護,各自開發(fā)迭代是一樣的道理。

在全國人民的共同努力下,國家的經(jīng)濟越來越好了,互聯(lián)網(wǎng)技術(shù)也發(fā)展的如火如荼,大數(shù)據(jù)、云計算、人工智能等技術(shù)應用在了零售行業(yè),小編年末想要吃大餐時,再也不用把所有的生鮮食材全買回來自己做了,而是可以到比如盒馬鮮生這樣的新零售店,選擇好了食材之后,只需要應用自己的核心技術(shù)來去烹飪就好了,這就和無服務(wù)器的核心原理是一樣的,只需要提供運行函數(shù),其余的服務(wù)器購買維護升級都全都不用管。

毫無疑問,serverless無服務(wù)架構(gòu)必將是下一波技術(shù)浪潮,整個社會進化的目的是為了提供生產(chǎn)生活效率,技術(shù)架構(gòu)的發(fā)展也必將如此,越底層的內(nèi)容就交給專業(yè)的云廠商去做,而開發(fā)者們只聚焦于業(yè)務(wù)價值的實現(xiàn)即可。


標簽: 云計算
報名優(yōu)惠
免費試聽
課程資料
官方微信
返回頂部
培訓課程 熱門話題 站內(nèi)鏈接