這都可以?(無服務(wù)器是怎么回事)無服務(wù)器什么意思,無服務(wù)器 90% 的情況都很糟糕,中國衛(wèi)生考試中心,
目錄:
1.無服務(wù)器什么意思
2.無服務(wù)器是什么原因
3.無服務(wù)器連接怎么辦
4.無服務(wù) serverless
5.無服務(wù)器應(yīng)用
6.就沒有服務(wù)
7.無服務(wù)器app
8.無服務(wù)所選網(wǎng)絡(luò)不可用
9.無服務(wù)器通信
10.沒有服務(wù)器是什么意思
1.無服務(wù)器什么意思
本文最初發(fā)布于 Seve 的個(gè)人博客,經(jīng)原作者授權(quán)由 InfoQ 中文站翻譯并分享無服務(wù)器 10%的情況令人驚嘆剩下的 90%則是一個(gè)危險(xiǎn)的黑洞,里面是云鎖定、糟糕的測試、差勁的開發(fā)體驗(yàn)和復(fù)雜的設(shè)置這就是為什么會有一些老人發(fā)誓不使用無服務(wù)器,同時(shí)又有大量的支持者(像我一樣)試圖把它推廣到任何適合的地方。
2.無服務(wù)器是什么原因
不管是哪一方,都有一些事項(xiàng)需要留意對于77導(dǎo)航無服務(wù)器的支持者而言:無服務(wù)器應(yīng)用程序的架構(gòu)并沒有更簡單;無服務(wù)器消除/簡化了 devops,因此,部署/devops 更簡單了;為了讓無服務(wù)器產(chǎn)生預(yù)期的效果,你必須采用無服務(wù)器架構(gòu),這與許多公共框架(如 Rails)的最佳實(shí)踐建議不相符;。
3.無服務(wù)器連接怎么辦
沒有哪個(gè)云提供商的最佳實(shí)踐是真正的最佳實(shí)踐他們的興趣在于把你鎖定,因此,他們會嘗試將自己融入到你的開發(fā)/測試工作流,或者在開發(fā)中需要云連接;在同一個(gè)項(xiàng)目中使用多種語言并不是一項(xiàng)特性對于無服務(wù)器的反對者來說:
4.無服務(wù) serverless
幾乎可以肯定,遵循云提供商的最佳實(shí)踐已經(jīng)讓你吃不消了,忽略那些試圖鎖定你的云提供商,你會過得更好運(yùn)77導(dǎo)航行本地版本是有效的無服務(wù)器 DX 的必要條件,任何像樣的無服務(wù)器架構(gòu)都很容易像 docker 容器一樣運(yùn)行。
5.無服務(wù)器應(yīng)用
有一種無服務(wù)器架構(gòu)可以讓每個(gè)人在大多數(shù)情況下都滿意但這通常不明顯,因?yàn)樗幱跓o狀態(tài)服務(wù)器最佳實(shí)踐和云提供商最佳實(shí)踐的交叉點(diǎn)上,但永遠(yuǎn)不會完全是哪一個(gè)有效的無服務(wù)器架構(gòu)好了,現(xiàn)在我們已經(jīng)冷靜下來,我們已經(jīng)認(rèn)識到,無服務(wù)器不是編程和應(yīng)用程序架構(gòu)的救世主。
6.就沒有服務(wù)
現(xiàn)在可以開始構(gòu)建簡單、易于維護(hù)、可測試的應(yīng)用程序了下面是無服務(wù)器架構(gòu)必須做到的一些要點(diǎn):一切都必須能夠在本地運(yùn)行,與傳統(tǒng)的有狀態(tài)服務(wù)器一樣(你需要能夠運(yùn)行自己的系統(tǒng));每個(gè)端點(diǎn)都應(yīng)該有針對本地運(yùn)行的無服務(wù)器實(shí)例運(yùn)77導(dǎo)航行的測試;
7.無服務(wù)器app
以一種簡單、易于理解的方式處理路由,例如使用文件路徑作為端點(diǎn)或一個(gè)中心化的 JSON 配置;完全正常它應(yīng)該看起來像一個(gè) npm 包、一個(gè) pip 模塊等等沒有人需要通過看圖表來理解它是如何工作的;每個(gè)端點(diǎn)所需的樣板文件都盡可能少;
8.無服務(wù)所選網(wǎng)絡(luò)不可用
整體式的代碼組織,每個(gè)應(yīng)用程序一個(gè)庫,其中包含多個(gè)端點(diǎn)云提供商應(yīng)提供以下特性:自動(dòng)擴(kuò)展端點(diǎn);自動(dòng)部署和版本控制;易于回滾關(guān)于無服務(wù)器的恐怖故事我曾見過有人在云提供商的云 IDE 中編寫代碼,兩次測試之間要等 2 分鐘。
9.無服務(wù)器通信
有時(shí),一個(gè)端點(diǎn)連接到如此多的云服務(wù),所以真的只能在生產(chǎn)環(huán)境中進(jìn)行測試有時(shí)不是所有端點(diǎn)77導(dǎo)航都在一個(gè)庫中,而是有很多庫,每個(gè)庫包含不同的系統(tǒng)組件開發(fā)體驗(yàn)是快速實(shí)施的關(guān)鍵,你應(yīng)該努力保持快速的反饋循環(huán)和測試,讓你可以快速前進(jìn),而不必?fù)?dān)心整個(gè)系統(tǒng)崩潰。
10.沒有服務(wù)器是什么意思
優(yōu)質(zhì)的無服務(wù)器提供商每個(gè)無服務(wù)器提供商都必須經(jīng)過改造才能成為有效的架構(gòu)每個(gè)無服務(wù)器提供商都試圖讓你不可逆轉(zhuǎn)地將它們?nèi)谌肽悴恍枰阉鼈內(nèi)谌胱裱罴褜?shí)踐,除非它違反了“必須在本地運(yùn)行”的原則,否則你應(yīng)該沒事。
現(xiàn)在,我喜歡以下這兩家無服務(wù)器提供商:Vercel——基于 AWS Lambda 構(gòu)建,重視開發(fā)體驗(yàn)優(yōu)秀的自動(dòng)部署和版本控制非常友好的價(jià)格我在把collegeai.com重構(gòu)到 Vercel 之后遭遇了峰值流量,而77導(dǎo)航它在第一天擴(kuò)展時(shí)就沒有出現(xiàn)任何嚴(yán)重的問題。
你可能需要放棄他們的開發(fā)系統(tǒng)(vc dev ),以獲得一個(gè)有效的容器化/本地運(yùn)行的應(yīng)用程序,但這并不困難Cloudflare Workers——Wrangler(worker 的命令行開發(fā)工具)意識到本地開發(fā)的重要性,而 cloudflare worker 非常便宜。
但是,我要提醒的是,它們對 NodeJS 模塊的支持不是很好,所以它們還不是一個(gè)重要的選項(xiàng),除非在低成本擴(kuò)展絕對關(guān)鍵的情況下對于下面這兩家提供商,我要提醒你注意:AWS Lambda(直接)——對于應(yīng)用程序開發(fā)人員來說,AWS Lambda 太復(fù)雜了,我從未見過一個(gè)讓人感覺正常、易于理解并77導(dǎo)航且使用 Lambda 在本地運(yùn)行的架構(gòu)。
Fastly——如果需要一個(gè)銷售電話來開始,那么我可以打賭開發(fā)體驗(yàn)將很垃圾我還沒有足夠的經(jīng)驗(yàn),聽說得也不是很多:Netlify——它似乎有一個(gè)正確的方法,但是我不理解他們的專業(yè)級無服務(wù)器定價(jià),為什么人們通常是從這里開始。
這個(gè)領(lǐng)域正在迅速變化,當(dāng)看到新的競爭者和新的架構(gòu)時(shí),我會更新這里的內(nèi)容無服務(wù)器 90%的情況都很糟糕,但也有 10%的情況令人驚嘆炒作沒問題,但要有理由支撐無服務(wù)器使應(yīng)用程序易于擴(kuò)展和維護(hù)我在7年前編寫的無服務(wù)器應(yīng)用程序仍然在運(yùn)行,幾乎不需要維護(hù),也幾乎不需要任何成本。
我相信,無服務(wù)器可以使個(gè)人能夠維護(hù)大型應(yīng)用程序,否則將需要一個(gè)團(tuán)隊(duì)和穩(wěn)77導(dǎo)航定的收入流