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