分佈式是一種系統架構方式,而在分佈式系統中通常基於中間件進行開發,消息中間件是分佈式系統中比較核心的中間件之一。這三樣東西隨便拿出一個來均可能要說上半天,並且我的水平有限,因此這裏我也只能按照我的的理解簡單說一下。html
分佈式是區別於傳統的傳統的單體架構而言的。安全
下面以小做坊和大工廠爲例簡單說一下。架構
小做坊就至關因而傳統的單體架構運維
通常來講,小做坊人手比較少,甚至只有一我的,那麼其中全部的工做都要由他一我的負責,從接收訂單,到採購原料,再到生產,還有財務都須要他一我的來作,但畢竟每一個人的精力有限,一我的的小做坊可以承接的業務量也就頗有限。若是這我的生病了,那整個做坊就沒法運轉,沒法提供任何服務。另外一方面,隨着新東西的出現,總須要擴增一些新的產品線,那小做坊的負責人就必須本身去學習,並且可以學到的東西也有限,沒法擴展太多的產品線。單體架構與小做坊的生產模式相似,存在的缺陷也相似,單體架構的系統吞吐量差,故障影響範圍大,擴展性差,開發成本高,不適用於如今大多數的互聯網系統。分佈式
隨着業務的增加,小做坊已經處理不了大量的訂單,爲了可以繼續發展,只能改變工做模式,開始招兵買馬。學習
其中每一個人都有本身的職責,有負責接收訂單的,有采銷,有技術工人,有財務,並且每一個崗位都由一個多人小組來負責,這樣即便小組中有人離職或者生病請假,都不會對整個業務形成任何影響,仍然能夠正常運轉。當訂單量增長,現有人手處理不過來的時候,只須要再招一些人就能夠了。url
若是須要開闢新的產品線和開展新業務,那麼只須要再培訓或者招聘一批專業的技術人員便可。spa
分佈式系統的架構就與大工廠相似.net
分佈式系統吞吐量大大提高,同時具備故障影響範圍小,易於擴展,開發成本低等諸多優勢。但這也並不意味着分佈式架構就很完美,與小做坊相比,大工廠員工不少,所以就帶來了很高的管理成本,以及溝通成本,如何維持員工之間的信息對等以及如何保證商業機密不泄露等都是比較大的問題。一樣,分佈式系統對於系統運維,服務治理與調度,數據同步以及系統的安全性有很高的要求。3d
總的來講,兩種架構各有各的優勢,不能簡單的說好與很差,只有合適不合適,下面的表格中簡單列舉了兩種架構之間的差異。像我的博客,這種訪問量比較小,功能比較單一的使用單體架構就足夠,而電商和金融這種訪問量高,比較複雜的系統更適合用分佈式系統架構。