微服務架構和分布式架構的區別
有:1、含義不同;2、概念層面不同;3、解決問題不同;4、部署方式不同;5、耦合度不同。其中,含義不同指微服務架構是一種將一個單一應用程序開發為一組小型服務的方法,每個服務運行在自己的進程中,而分布式系統是若干獨立計算機的集合。
1、含義不同
微服務架構:微服務架構風格是一種將一個單一應用程序開發為一組小型服務的方法,每個服務運行在自己的進程中,服務間通信采用輕量級通信機制(通常用HTTP資源API)。這些服務圍繞業務能力構建并且可通過全自動部署機制獨立部署。這些服務共用一個最小型的集中式的管理,服務可用不同的語言開發,使用不同的數據存儲技術。
分布式架構:分布式系統是若干獨立計算機的集合,這些計算機對用戶來說就像單個相關系統,即整個系統是由不同的計算機組成,而用戶是無感知的,就像訪問一臺計算機一樣。這里強調的是系統由不同物理上分離的計算機(服務器)組成。
2、概念層面不同
微服務架構:微服務是設計層面的東西,一般考慮如何將系統從邏輯上進行拆分,也就是垂直拆分。微服務可以是分布式的,即可以將不同服務部署在不同計算機上,當然如果量小也可以部署在單機上。
分布式架構:分布式是部署層面的東西,即強調物理層面的組成,即系統的各子系統部署在不同計算機上。
3、解決問題不同
微服務架構:微服務解決的是系統復雜度問題: 一般來說是業務問題,即在一個系統中承擔職責太多了,需要打散,便于理解和維護,進而提升系統的開發效率和運行效率,微服務一般來說是針對應用層面的。微服務如果用在其它系統,如存儲系統感覺怪怪的,就像說Mysql集群是微服務的,總覺得哪里不舒服。
分布式架構:分布式解決的是系統性能問題: 即解決系統部署上單點的問題,盡量讓組成系統的子系統分散在不同的機器上進而提高系統的吞吐能力。
4、部署方式不同
微服務架構:微服務的應用可以部署在是同一個服務器,不一定是分散在多個服務器上。微服務架構是一項在云中部署應用和服務的新技術。微服務架構是一種架構模式,它將一個復雜的大型應用程序劃分成多個微服務,這些小型服務都在各自獨立的進程中運行。
分布式架構:分布式是將一個大的系統劃分為多個業務模塊,這些業務模塊會分別部署到不同的機器上,通過接口進行數據交互。
5、耦合度不同
微服務相比分布式服務來說,它的粒度更小,服務之間耦合度更低,由于每個微服務都由獨立的小團隊負責,因此它敏捷性更高,分布式服務最后都會向微服務架構演化,這是一種趨勢,不過服務微服務化后帶來的挑戰也是顯而易見的,例如服務粒度小,數量大,后期運維將會很難。
拓展閱讀
分布式是否屬于微服務?
答案是屬于。微服務的意思也就是將模塊拆分成一個獨立的服務單元通過接口來實現數據的交互。但是微服務不一定是分布式,因為微服務的應用不一定是分散在多個服務器上,他也可以是同一個服務器。這也是分布式和微服務的一個細微差別。
?