微服務(wù)資料收集
- 目錄
- 1.什么是微服務(wù)
- 2.微服務(wù)與soa的區(qū)別
- 3.微服務(wù)應(yīng)用是什么樣
- 4.微服務(wù)架構(gòu)應(yīng)該是什么樣
- 5.微服務(wù)架構(gòu)的優(yōu)勢(shì)和不足
- 6.市場(chǎng)上的微服務(wù)架構(gòu)是什么樣
- 7.技術(shù)實(shí)現(xiàn)
1.什么是微服務(wù)
微服務(wù)架構(gòu)強(qiáng)調(diào)的第一個(gè)重點(diǎn)就是業(yè)務(wù)系統(tǒng)需要徹底的組件化和服務(wù)化,原有的單個(gè)業(yè)務(wù)系統(tǒng)會(huì)拆分為多個(gè)可以獨(dú)立開(kāi)發(fā),設(shè)計(jì),運(yùn)行和運(yùn)維的小應(yīng)用。這些小應(yīng)用之間通過(guò)服務(wù)完成交互和集成。每個(gè)小應(yīng)用從前端web ui,到控制層,邏輯層,數(shù)據(jù)庫(kù)訪問(wèn),數(shù)據(jù)庫(kù)都完全是獨(dú)立的一套。在這里我們不用組件而用小應(yīng)用這個(gè)詞更加合適,每個(gè)小應(yīng)用除了完成自身本身的業(yè)務(wù)功能外,重點(diǎn)就是還需要消費(fèi)外部其它應(yīng)用暴露的服務(wù),同時(shí)自身也將自身的能力朝外部發(fā)布為服務(wù)。
2.微服務(wù)與soa的區(qū)別
- SOA:面向服務(wù)架構(gòu),java級(jí)企業(yè)開(kāi)發(fā)的首選。
- 微服務(wù):采用一組服務(wù)的方式來(lái)構(gòu)建一個(gè)應(yīng)用,服務(wù)獨(dú)立部署在不同的進(jìn)程中,不同服務(wù)通過(guò)一些輕量級(jí)交互機(jī)制來(lái)通信,例如 RPC、HTTP 等,服務(wù)可獨(dú)立擴(kuò)展伸縮,每個(gè)服務(wù)定義了明確的邊界,不同的服務(wù)甚至可以采用不同的編程語(yǔ)言來(lái)實(shí)現(xiàn),由獨(dú)立的團(tuán)隊(duì)來(lái)維護(hù)。簡(jiǎn)單的來(lái)說(shuō),一個(gè)系統(tǒng)的不同模塊轉(zhuǎn)變成不同的服務(wù)!而且服務(wù)可以使用不同的技術(shù)加以實(shí)現(xiàn)!
3.微服務(wù)應(yīng)用是什么樣
首先對(duì)于應(yīng)用本身暴露出來(lái)的服務(wù),是和應(yīng)用一起部署的,即服務(wù)本身并不單獨(dú)部署,服務(wù)本身就是業(yè)務(wù)組件已有的接口能力發(fā)布和暴露出來(lái)的。了解到這點(diǎn)我們就看到一個(gè)關(guān)鍵,即我們?cè)谶M(jìn)行單個(gè)應(yīng)用組件設(shè)計(jì)的時(shí)候,本身在組件內(nèi)部就會(huì)有很大接口的設(shè)計(jì)和定義,那么這些接口我們可以根據(jù)和外部其它組件協(xié)同的需要將其發(fā)布為微服務(wù)
其次,微服務(wù)架構(gòu)本身來(lái)源于互聯(lián)網(wǎng)的思路,因此組件對(duì)外發(fā)布的服務(wù)強(qiáng)調(diào)了采用HTTP Rest API的方式來(lái)進(jìn)行。這個(gè)也可以看到在互聯(lián)網(wǎng)開(kāi)放能力服務(wù)平臺(tái)基本都采用了Http API的方式進(jìn)行服務(wù)的發(fā)布和管理。