微服務(wù)架構(gòu)的特點(diǎn)
微服務(wù)架構(gòu)是一項(xiàng)在云中部署應(yīng)用和服務(wù)的新技術(shù)。
架構(gòu)特征如下:
1)組件以服務(wù)形式來提供
微服務(wù)是面向服務(wù)的
2)圍繞業(yè)務(wù)功能進(jìn)行組織
微服務(wù)更傾向于圍繞業(yè)務(wù)功能對(duì)服務(wù)結(jié)構(gòu)進(jìn)行劃分、拆解。這樣的服務(wù)是針對(duì)業(yè)務(wù)領(lǐng)域有著完整實(shí)現(xiàn)的軟件,
它包含使用接口、持久存儲(chǔ)以及對(duì)應(yīng)的交互。因此團(tuán)隊(duì)?wèi)?yīng)該是跨職能的,包含完整的開發(fā)技術(shù)--用戶體驗(yàn)、數(shù)據(jù)庫和項(xiàng)目管理。
3)產(chǎn)品不是項(xiàng)目
傳統(tǒng)的開發(fā)模式致力于提供一些被認(rèn)為是完整的軟件,一旦開發(fā)完成,軟件將移交給維護(hù)或?qū)嵤┎块T,然后開發(fā)組就可以解散了。
而微服務(wù)要求開發(fā)團(tuán)隊(duì)對(duì)軟件產(chǎn)品的整個(gè)生命周期負(fù)責(zé)。這要求開發(fā)者每天都要關(guān)注軟件產(chǎn)品的運(yùn)行情況,并與用戶聯(lián)系的更緊密,
同時(shí)承擔(dān)一些售后服務(wù)支持。越小的服務(wù)粒度越容易促進(jìn)用戶與服務(wù)提供商之間的關(guān)系。
4)強(qiáng)化終端與弱化通道
微服務(wù)的應(yīng)用致力于松耦合和高內(nèi)聚,它們更喜歡簡(jiǎn)單的REST風(fēng)格,而不是復(fù)雜的協(xié)議(例如BPEL或集中式框架)。要么采用輕量級(jí)
消息總線(如RabbitMQ)來發(fā)布消息。
5)分散治理
跟傳統(tǒng)的集中式管理有很大區(qū)別,微服務(wù)把整體式框架中的組件分拆成不同的服務(wù),在構(gòu)建時(shí)將會(huì)有更多的選擇。
6)分散數(shù)據(jù)管理
當(dāng)整體式的應(yīng)用使用單一邏輯數(shù)據(jù)庫對(duì)數(shù)據(jù)進(jìn)行持久化時(shí),企業(yè)通常會(huì)選擇在應(yīng)用的范圍內(nèi)使用一個(gè)數(shù)據(jù)庫。微服務(wù)讓每個(gè)服務(wù)管理
自己的數(shù)據(jù)庫。
7)基礎(chǔ)設(shè)施自動(dòng)化
云計(jì)算特別是AWS的發(fā)展減少了構(gòu)建、發(fā)布和運(yùn)維微服務(wù)的復(fù)雜性。微服務(wù)的團(tuán)隊(duì)更加依賴于基礎(chǔ)設(shè)施的自動(dòng)化,畢竟發(fā)布工作相當(dāng)無趣。
8)容錯(cuò)性設(shè)計(jì)
任務(wù)服務(wù)都可能因?yàn)楣?yīng)商的不可靠而出現(xiàn)故障,微服務(wù)應(yīng)為每個(gè)應(yīng)用的服務(wù)和數(shù)據(jù)中心提供日常的故障檢測(cè)和修復(fù)。
9)改進(jìn)設(shè)計(jì)
由于設(shè)計(jì)會(huì)不斷更改,微服務(wù)所提供的服務(wù)應(yīng)該能夠替換,而不是長久的發(fā)展。
微服務(wù)架構(gòu)適用場(chǎng)景
隨著互聯(lián)網(wǎng)的高速發(fā)展,微服務(wù)現(xiàn)在已經(jīng)成了熱門話題,我們今天就來聊聊微服務(wù)架構(gòu)的使用場(chǎng)景,在之前,我們先講講單體架構(gòu),單體架構(gòu)就是我們最傳統(tǒng)的項(xiàng)目前端代碼和后端代碼耦合在一起。
單體架構(gòu)的適用場(chǎng)景
業(yè)務(wù)場(chǎng)景簡(jiǎn)單,功能不復(fù)雜,研發(fā)人員較少。
公司處于創(chuàng)業(yè)初期:為了生存,需要的是快速開發(fā)出功能,然后到市場(chǎng)上試錯(cuò)。
性能要求及其苛刻:一些對(duì)性能要求比較高的系統(tǒng),例如股票軟件。
需求比較穩(wěn)定的系統(tǒng)也不適合做成微服務(wù),例如:公司內(nèi)部OA,考勤系統(tǒng)等。
微服務(wù)的使用場(chǎng)景
需求層面:
公司發(fā)展到一定規(guī)模,需求變化頻繁,并且研發(fā)團(tuán)隊(duì)達(dá)到10人左右
性能層面:
對(duì)響應(yīng)時(shí)間要求不苛刻的系統(tǒng),比如:電商系統(tǒng)
數(shù)據(jù)一致性層面:
盡量避免分布式事務(wù)問題,對(duì)數(shù)據(jù)一致性不太高可保證最終一致性
微服務(wù)的目的
項(xiàng)目快速迭代
項(xiàng)目持續(xù)交付
責(zé)任編輯:YYX
-
微服務(wù)
+關(guān)注
關(guān)注
0文章
142瀏覽量
7428 -
微服務(wù)架構(gòu)
+關(guān)注
關(guān)注
0文章
25瀏覽量
2979
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論