微服務(wù)系統(tǒng)的功能與架構(gòu)

微服務(wù)系統(tǒng)的功能與架構(gòu)

ID:30892048

大?。?22.57 KB

頁(yè)數(shù):9頁(yè)

時(shí)間:2019-01-04

微服務(wù)系統(tǒng)的功能與架構(gòu)_第1頁(yè)
微服務(wù)系統(tǒng)的功能與架構(gòu)_第2頁(yè)
微服務(wù)系統(tǒng)的功能與架構(gòu)_第3頁(yè)
微服務(wù)系統(tǒng)的功能與架構(gòu)_第4頁(yè)
微服務(wù)系統(tǒng)的功能與架構(gòu)_第5頁(yè)
資源描述:

《微服務(wù)系統(tǒng)的功能與架構(gòu)》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)

1、微服務(wù)系統(tǒng)的功能與架構(gòu)近幾年,微服務(wù)架構(gòu)迅速在整個(gè)技術(shù)社區(qū)竄紅,它被認(rèn)為是IT軟件架構(gòu)的未來(lái)方向,大神MartinFowler也給微服務(wù)極高的評(píng)價(jià)。那為什么我們需要微服務(wù),微服務(wù)的真正優(yōu)勢(shì)到底是什么,一個(gè)完整的微服務(wù)系統(tǒng),應(yīng)該包含哪些功能?顧名思義,微服務(wù)要從兩個(gè)方面來(lái)理解,一個(gè)是"微〃,一個(gè)是〃服務(wù)"。體型小到一定程度才能叫〃微〃,這個(gè)程度是什么呢?一個(gè)身高1米6,體重90斤的,我們說(shuō)她苗條。微服務(wù)也一樣,根據(jù)亞馬遜CEOBezos給出的有趣定義,單個(gè)微服務(wù)的設(shè)計(jì)、開(kāi)發(fā)、測(cè)試和運(yùn)維的所有人加在一起吃飯,只需要兩個(gè)批薩就夠了,這是就是著名的

2、twopizzateamruleo具備什么樣的能力才能算是'‘服務(wù)“?這個(gè)話(huà)題很大,我這里按照自己的片面理解總結(jié)一下,所謂服務(wù)就一定會(huì)區(qū)別于系統(tǒng)的功能,服務(wù)是一個(gè)或者一組相對(duì)的較小且獨(dú)立的功能單元,是用戶(hù)可以感知的功能最小集,比如:購(gòu)物車(chē),訂單,信用卡結(jié)算等都可以作為單個(gè)服務(wù)獨(dú)立提供。這個(gè)理解顯然不夠深刻,為了進(jìn)一步理解為什么微服務(wù)在近兩年業(yè)界迅速竄紅,理解為什么微服務(wù)會(huì)被認(rèn)為是IT軟件架構(gòu)的未來(lái)方向,就要理解為什么我們需要微服務(wù)?它能給企業(yè)帶來(lái)什么價(jià)值。傳統(tǒng)企業(yè)的IT軟件大多都是各種獨(dú)立系統(tǒng)的堆砌,這些系統(tǒng)的問(wèn)題總結(jié)來(lái)說(shuō)就是擴(kuò)展性差,可靠

3、性不高,維護(hù)成本高。后來(lái)有了一個(gè)叫SOA的軟件架構(gòu)專(zhuān)門(mén)針對(duì)這些問(wèn)題給出了一套解決方案彳艮多企業(yè)也因此將自身IT系統(tǒng)遷移到SOA架構(gòu)上。但是,由于SOA早期均使用了總線(xiàn)模式,這種總線(xiàn)模式是與某種技術(shù)棧強(qiáng)綁定的,比如:J2EE。這導(dǎo)致很多企業(yè)的遺留系統(tǒng)很難對(duì)接,切換時(shí)間太長(zhǎng),成本太高,新系統(tǒng)穩(wěn)定性的收斂也需要一些時(shí)間。最終SOA開(kāi)起來(lái)很美,但卻成為了企業(yè)級(jí)奢侈品,中小公司都望而生畏。微服務(wù),從本質(zhì)意義上看,還是SOA架構(gòu)。但內(nèi)涵有所不同,微服務(wù)并不綁定某種特殊的技術(shù),在一個(gè)微服務(wù)的系統(tǒng)中,可以有Java編寫(xiě)的服務(wù),也可以有Python編寫(xiě)的服務(wù)

4、”他們是靠Restful架構(gòu)風(fēng)格統(tǒng)一成一個(gè)系統(tǒng)的。最粗淺的理解就是將微服務(wù)之間的交互看作是各種字符串的傳遞,各種語(yǔ)言都可以很好的處理字符串,所以微服務(wù)本身與具體技術(shù)實(shí)現(xiàn)無(wú)關(guān),擴(kuò)展性強(qiáng)。另一個(gè)不同是微服務(wù)架構(gòu)本身很輕,底層也有類(lèi)似于SOA的總線(xiàn),不過(guò)非常輕薄,現(xiàn)在看到的就兩種方式:MQ和HTTP,而HTTP都不能完全等同于總線(xiàn),而僅僅是個(gè)信息通道。所以,基于這種簡(jiǎn)單的的協(xié)議規(guī)范,無(wú)論是兼容老舊系統(tǒng),還是上線(xiàn)新業(yè)務(wù),都可以隨著時(shí)代的步伐,滾動(dòng)升級(jí)。比如:你去年還在使用.NET技術(shù),今年就可以平滑的過(guò)度到Go了,而且系統(tǒng)已有服務(wù)不用改動(dòng)。所以微服

5、務(wù)架構(gòu),既保護(hù)用戶(hù)已有投資,又很容易向新技術(shù)演進(jìn)。人月不是銀彈,微服務(wù)更不是銀彈,好像軟件微服務(wù)化了”軟件系統(tǒng)就能夠應(yīng)對(duì)各種問(wèn)題了。其實(shí)微服務(wù)的水F藏著巨大的冰山。下面是微服務(wù)提供的能力,以及背后需要付出的代價(jià)。1.單個(gè)微服務(wù)代碼量小,易修改和維護(hù)。但是,系統(tǒng)復(fù)雜度的總量是不變的,每個(gè)服務(wù)代碼少了,但服務(wù)的個(gè)數(shù)肯定就多了。就跟拼圖游戲一樣,切的越碎,越難拼出整幅圖。一個(gè)系統(tǒng)被拆分成零碎的微服務(wù),最后要集成為一個(gè)完整的系統(tǒng),其復(fù)雜度肯定比大塊的功能集成要高很多。2.單個(gè)微服務(wù)數(shù)據(jù)獨(dú)立,可獨(dú)立部署和運(yùn)行。雖然微務(wù)本身是可以獨(dú)立部署和運(yùn)行的,但仍

6、然避免不了業(yè)務(wù)上的你來(lái)我往,這就涉及到要對(duì)外通信,當(dāng)微服務(wù)的數(shù)量達(dá)到一定量級(jí)的時(shí)候,如何提供一個(gè)高效的集群通信機(jī)制成為一個(gè)問(wèn)題。3.單個(gè)微服務(wù)擁有自己的進(jìn)程,進(jìn)程本身就可以動(dòng)態(tài)的啟停,為無(wú)縫升級(jí)的打好了基礎(chǔ),但誰(shuí)來(lái)啟動(dòng)和停止進(jìn)程,什么時(shí)機(jī),選擇在哪臺(tái)設(shè)備上做這件事情才是無(wú)縫升級(jí)的關(guān)鍵。這個(gè)能力并不是微服務(wù)本身提供的,而是需要背后強(qiáng)大的版本管理和部署能力。4.多個(gè)相同的微服務(wù)可以做負(fù)載均衡,提高性能和可靠性。正是因?yàn)橄嗤⒎?wù)可以有多個(gè)不同實(shí)例,讓服務(wù)按需動(dòng)態(tài)伸縮成為可能,在高峰期可以啟動(dòng)更多的相同的微服務(wù)實(shí)例為更多用戶(hù)服務(wù),以此提高響應(yīng)速度

7、。同時(shí)這種機(jī)制也提供了高可靠性,在某個(gè)微服務(wù)故障后,其他相同的微服務(wù)可以接替其工作,對(duì)外表現(xiàn)為某個(gè)設(shè)備故障后業(yè)務(wù)不中斷。同樣的道理,微服務(wù)本身是不會(huì)去關(guān)心系統(tǒng)負(fù)載的,那么什么時(shí)候應(yīng)該啟動(dòng)更多的微服務(wù),多個(gè)微服務(wù)的流量應(yīng)該如何調(diào)度和分發(fā),這背后也有一套復(fù)雜的負(fù)載監(jiān)控和均衡的系統(tǒng)在起作用。1.微服務(wù)可以獨(dú)立部署和對(duì)外提供服務(wù),微服務(wù)的業(yè)務(wù)上線(xiàn)和下線(xiàn)是動(dòng)態(tài)的,當(dāng)一個(gè)新的微服務(wù)上線(xiàn)時(shí),用戶(hù)是如何訪問(wèn)到這種新的服務(wù)?這就需要有一個(gè)統(tǒng)一的入口,新的服務(wù)可以動(dòng)態(tài)的注冊(cè)到這個(gè)入口上,用戶(hù)每次訪問(wèn)時(shí)可以從這個(gè)入口拿到系統(tǒng)所有服務(wù)的訪問(wèn)地址,類(lèi)似于到餐廳吃飯,

8、新菜要寫(xiě)到"菜單"中,以供用戶(hù)選擇。這個(gè)統(tǒng)一的系統(tǒng)入口并不是微服務(wù)本身的一部分,所以這種能力需要系統(tǒng)單獨(dú)提供。2.還有一些企業(yè)級(jí)關(guān)注的系統(tǒng)問(wèn)題,比如,安全策略如何集中管理?系統(tǒng)故

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。