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