1虱饿、服務(wù)架構(gòu)演變
(1)單體架構(gòu)
將業(yè)務(wù)的所有功能集中在一個(gè)項(xiàng)目中開(kāi)發(fā),打成一個(gè)部署包
優(yōu)點(diǎn):架構(gòu)簡(jiǎn)單宾毒、部署成本低
缺點(diǎn):耦合度高
(2)分布式架構(gòu)
根據(jù)業(yè)務(wù)功能對(duì)系統(tǒng)進(jìn)行拆分幻捏,每個(gè)業(yè)務(wù)模塊作為獨(dú)立項(xiàng)目開(kāi)發(fā)盆犁,稱(chēng)為一個(gè)服務(wù)。
優(yōu)點(diǎn):降低服務(wù)耦合篡九,有利于服務(wù)升級(jí)拓展
缺點(diǎn):架構(gòu)復(fù)雜谐岁,難度大
(3)分布式架構(gòu)要考慮的問(wèn)題
服務(wù)拆分粒度如何?
服務(wù)集群地址如何維護(hù)榛臼?
服務(wù)之間如何實(shí)現(xiàn)遠(yuǎn)程調(diào)用伊佃?
服務(wù)健康狀態(tài)如何感知?
(4)微服務(wù)
微服務(wù)是一種經(jīng)過(guò)良好架構(gòu)設(shè)計(jì)的分布式架構(gòu)方案讽坏。
微服務(wù)架構(gòu)特征:
① 單一職責(zé):微服務(wù)拆分粒度更小,每一個(gè)服務(wù)都對(duì)應(yīng)唯一的業(yè)務(wù)能力例证,做到單一職責(zé)路呜,避免重復(fù)業(yè)務(wù)開(kāi)發(fā)
② 面向服務(wù):微服務(wù)對(duì)外暴露業(yè)務(wù)接口
③ 自治:團(tuán)隊(duì)獨(dú)立、技術(shù)獨(dú)立、數(shù)據(jù)獨(dú)立胀葱、部署獨(dú)立
④ 隔離性強(qiáng):服務(wù)調(diào)用做好隔離漠秋、容錯(cuò)、降級(jí)抵屿、避免出現(xiàn)級(jí)聯(lián)問(wèn)題
(5)總結(jié)
① 單體架構(gòu)特點(diǎn)庆锦?
簡(jiǎn)單方便,高度耦合
擴(kuò)展性差
適合小型項(xiàng)目轧葛,如:學(xué)生管理系統(tǒng)
② 分布式架構(gòu)特點(diǎn)搂抒?
松耦合,擴(kuò)展性好
架構(gòu)復(fù)雜尿扯,難度大
適合大型互聯(lián)網(wǎng)項(xiàng)目求晶,如:京東
③ 微服務(wù)?
一種良好的分布式架構(gòu)方案
優(yōu)點(diǎn):拆分粒度更小衷笋,服務(wù)更獨(dú)立芳杏、耦合度低
缺點(diǎn):架構(gòu)非常復(fù)雜,運(yùn)維辟宗、監(jiān)控爵赵、部署難度提高
2、微服務(wù)技術(shù)對(duì)比
(1)微服務(wù)結(jié)構(gòu)
微服務(wù)這種方案需要技術(shù)框架落地泊脐,全球的互聯(lián)網(wǎng)公司都在積極嘗試自己的微服務(wù)落地技術(shù)空幻,在國(guó)內(nèi)最知名的就是springCloud和阿里巴巴的Dubbo
(2)微服務(wù)技術(shù)對(duì)比
(3)企業(yè)需求
3、springCloud
(1)簡(jiǎn)介
springCloud是目前國(guó)內(nèi)使用最廣泛的微服務(wù)框架晨抡,它集成了各種微服務(wù)功能組件氛悬,并基于springBoot實(shí)現(xiàn)了這些組件的自動(dòng)裝配,從而提供了良好的開(kāi)箱即用體驗(yàn)
(2)springCloud與springBoot的版本兼容對(duì)照