軟體架構 微服務架構

2022-05-02 16:00:09 字數 986 閱讀 8363

我們可以將微服務架構(microservices architecture)理解為 soa 的公升級。

基於以下相同點:

當問到微服務架構與soa的區別,我們能找到以下回答:

微服務其核心思想是在應用開發領域,使用一系列微小服務來實現單個應用的方式途徑,或者說微服務的目的是有效的拆分應用,實現敏捷開發和部署,而soa可能包含的意義更泛一些,更不準確一些。

相比soa,微服務框架將能夠帶來更大的敏捷性,並為你構建應用提供更輕量級、更高效率的開發。

從服務粒度上,既然是微,必然微服務更倡導服務的細粒度,重用組合,甚至是每個操作(或方法)都是獨立開發的服務,足夠小到不能再進行拆分。而soa沒有這麼極致的要求,只需要介面契約的規範化,內部實現可以更粗粒度,微服務更多為了可擴充性、負載均衡以及提高吞吐量而去分解應用,但同時也引發了打破資料模型以及維護一致性的問題。

微服務架構的精髓在切分

如果一句話來談soa和微服務的區別,即微服務不再強調傳統soa架構裡面比較重的esb企業服務匯流排,同時soa的思想進入到單個業務系統內部實現真正的元件化。

首先對於應用本身暴露出來的服務,是和應用一起部署的,即服務本身並不單獨部署,服務本身就是業務元件已有的介面能力發布和暴露出來的。

其次,微服務架構本身**於網際網路的思路,因此元件對外發布的服務強調了採用http rest api的方式來進行。

微服務的基本思想在於考慮圍繞著業務領域元件來建立應用,這些就應用可獨立地進行開發、管理和加速。在分散的元件中使用微服務雲架構和平台使部署、管理和服務功能交付變得更加簡單。

優勢:而對於微服務架構的不足,簡單總結如下:

1. cap原則:由於服務無狀態和引入了分布式,較難解決事務一致性問題。

2. 整合複雜:任何徹底的分解都將帶來整合的複雜度,即模組在整合時候需要外部微服務模組更多的配合

3. 部署問題:稍大專案都涉及到上100個服務節點部署,還涉及到部署後的配置,擴充套件和監控問題。

參考:

2017 1 軟體架構,架構風格,微服務

試題一 25分 必答題 閱讀以下關於基於微服務的系統開發的敘述,在答題紙上回答問題1至問題3。說明 某公司擬開發乙個網路約車排程服務平台,實現基於網際網路的計程車預約與管理。公司的系統分析師王工首先進行了需求分析,得到的系統需求列舉如下 系統的參與者包括乘客 計程車司機和平台管理員三類 系統能夠實現...

微服務架構

一 先了解一下什麼是單體應用 就是乙個應用程式包含了所有模組功能,各模組同時部署。當然這種應用模式比較容易部署 測試,但隨著專案的加大,單體模式就會變得越來越臃腫,維護的成本逐漸變高。當乙個模組出錯,整個應用都會出現問題,擴充套件能力也會受到限制。二 什麼是微服務 是將整個應用程式分解為多個模組,各...

微服務架構

簡單來說,微服務架構風格想要開發一種由多個小服務組成的應用,每個服務執行於獨立的程序,並且採用輕量級互動,多數情況下乙個http的資源api,這些服務具備獨立業務能力並可以通過自動化部署方式獨立部署,這種風格使最小化集中管理,從而可以使用多種不同的程式語言喝資料儲存技術 james lewis 和 ...