怎么理解微服務(wù)中的云原生?
作者:心水
鏈接:https://www.jianshu.com/p/a37baa7c3eff
來(lái)源:簡(jiǎn)書(shū)
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。


云原生從字面意思上來(lái)看可以分成云和原生兩個(gè)部分。
云是和本地相對(duì)的,傳統(tǒng)的應(yīng)用必須跑在本地服務(wù)器上,現(xiàn)在流行的應(yīng)用都跑在云端,云包含了IaaS,、PaaS和SaaS。
原生就是土生土長(zhǎng)的意思,我們?cè)陂_(kāi)始設(shè)計(jì)應(yīng)用的時(shí)候就考慮到應(yīng)用將來(lái)是運(yùn)行云環(huán)境里面的,要充分利用云資源的優(yōu)點(diǎn),比如?云服務(wù)的彈性和分布式優(yōu)勢(shì)。
那具體要怎么利用呢,請(qǐng)參考下圖:

微服務(wù)
微服務(wù)解決的是我們軟件開(kāi)發(fā)中一直追求的低耦合+高內(nèi)聚,記得有一次我們系統(tǒng)的接口出了問(wèn)題,結(jié)果影響了用戶(hù)的前臺(tái)操作,于是黎叔拍案而起,靈魂發(fā)問(wèn):“為啥這兩個(gè)會(huì)互相影響?!”
微服務(wù)可以解決這個(gè)問(wèn)題,微服務(wù)的本質(zhì)是把一塊大餅分成若干塊低耦合的小餅,比如一塊小餅專(zhuān)門(mén)負(fù)責(zé)接收外部的數(shù)據(jù),一塊小餅專(zhuān)門(mén)負(fù)責(zé)響應(yīng)前臺(tái)的操作,小餅可以進(jìn)一步拆分,比如負(fù)責(zé)接收外部數(shù)據(jù)的小餅可以繼續(xù)分成多塊負(fù)責(zé)接收不同類(lèi)型數(shù)據(jù)的小餅,這樣每個(gè)小餅出問(wèn)題了,其它小餅還能正常對(duì)外提供服務(wù)。
DevOps
DevOps的意思就是開(kāi)發(fā)和運(yùn)維不再是分開(kāi)的兩個(gè)團(tuán)隊(duì),而是你中有我,我中有你的一個(gè)團(tuán)隊(duì)。我們現(xiàn)在開(kāi)發(fā)和運(yùn)維已經(jīng)是一個(gè)團(tuán)隊(duì)了,但是運(yùn)維方面的知識(shí)和經(jīng)驗(yàn)還需要持續(xù)提高。
持續(xù)交付
持續(xù)交付的意思就是在不影響用戶(hù)使用服務(wù)的前提下頻繁把新功能發(fā)布給用戶(hù)使用,要做到這點(diǎn)非常非常難。我們現(xiàn)在兩周一個(gè)版本,每次上線(xiàn)之后都會(huì)給不同的用戶(hù)造成不同程度的影響。
容器化
容器化的好處在于運(yùn)維的時(shí)候不需要再關(guān)心每個(gè)服務(wù)所使用的技術(shù)棧了,每個(gè)服務(wù)都被無(wú)差別地封裝在容器里,可以被無(wú)差別地管理和維護(hù),現(xiàn)在比較流行的工具是docker和k8s。
所以你也可以簡(jiǎn)單地把云原生理解為:云原生 = 微服務(wù) + DevOps + 持續(xù)交付 + 容器化

騰訊課堂
網(wǎng)易云課堂

