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