1. 程式人生 > >微服務(Microservices )簡介

微服務(Microservices )簡介

rabbit 編程語言 不可 可能 通過 區別 clas 管理 基礎設施

概念

微服務架構風格是一種將單個應用程序作為一套小型服務開發的方法,每種應用程序都在自己的進程中運行,

並與輕量級機制(通常是HTTP資源API)進行通信。

這些服務是圍繞業務功能構建的,可以通過全自動部署機制獨立部署。

這些服務的集中管理最少,

可以使用不同的編程語言編寫,

並使用不同的數據存儲技術。

特點

1 獨立部署,靈活擴展(組件以服務形式來提供)

2 強化終端及弱化通道:

微服務的應用致力松耦合和高內聚,它們更喜歡簡單的REST 風格,而不是復雜的協議(如WS或者BPEL或者集中式框架)。

或者采用輕量級消息總線(如 RabbitMQ 等)來發布消息

3 資源的有效隔離:分散治理,分散數據管理

4 基礎設施自動化(jenkins)

5 團隊組織架構的調整

6 容錯性設計:任務服務都可能因為供應商的不可靠而故障。微服務應為每個應用的服務及數據中心提供日常故障檢測和恢復。

7 改進設計:由於設計會不斷更改,微服務所提供的服務應該能夠替換或者報廢,而不是要長久的發展的

缺點

1微服務把項目拆分成多個獨立工程,增加了開發和測試的復雜度。

2微服務架構需要保證不同服務之間的數據一致性,引入了分布式事務和異步補償機制,為設計和開發帶來一定的挑戰。

微服務與面向服務架構SOA的區別

1 SOA架構是一種粗粒度、松耦合的服務架構,其更多的是強調異構系統之間的服務通信(webservice,系統之間的服務調用)。

2 微服務機構是強調 系統按業務邊界做細粒度的拆分和部署。

3 都是架構思想。(和dubbo,springcloud框架,不是一個層面的概念)。

參考地址

https://yq.aliyun.com/articles/537073?spm=a2c4e.11163080.searchblog.9.2dd62ec1O1TcOv

微服務(Microservices )簡介