分布式是一種系統架構方式,而在分布式系統中一般基於中介軟體進行開發,訊息中介軟體是分布式系統中比較核心的中介軟體之一。這三樣東西隨便拿出乙個來都可能要說上半天,而且個人水平有限,所以這裡我也只能按照個人的理解簡單說一下。
分布式是區別於傳統的傳統的單體架構而言的。
下面以小作坊和大工廠為例簡單說一下。
一般來說,小作坊人手比較少,甚至只有乙個人,那麼其中所有的工作都要由他乙個人負責,從接收訂單,到採購原料,再到生產,還有財務都需要他乙個人來做,但畢竟每個人的精力有限,乙個人的小作坊能夠承接的業務量也就很有限。如果這個人生病了,那整個作坊就無法運轉,無法提供任何服務。另一方面,隨著新東西的出現,總需要擴增一些新的產品線,那小作坊的負責人就必須自己去學習,而且能夠學到的東西也有限,無法擴充套件太多的產品線。單體架構與小作坊的生產模式類似,存在的缺陷也類似,單體架構的系統吞吐量差,故障影響範圍大,擴充套件性差,開發成本高,不適用於現在大多數的網際網路系統。
隨著業務的增長,小作坊已經處理不了大量的訂單,為了能夠繼續發展,只能改變工作模式,開始招兵買馬。
其中每個人都有自己的職責,有負責接收訂單的,有採銷,有技術工人,有財務,而且每個崗位都由乙個多人小組來負責,這樣即使小組中有人離職或者生病請假,都不會對整個業務造成任何影響,仍然可以正常運轉。當訂單量增加,現有人手處理不過來的時候,只需要再招一些人就可以了。
如果需要開闢新的產品線和開展新業務,那麼只需要再培訓或者招聘一批專業的技術人員即可。
分布式系統吞吐量大大提公升,同時具有故障影響範圍小,易於擴充套件,開發成本低等諸多優點。但這也並不意味著分布式架構就很完美,與小作坊相比,大工廠員工很多,因此就帶來了很高的管理成本,以及溝通成本,如何維持員工之間的資訊對等以及如何保證商業機密不洩露等都是比較大的問題。同樣,分布式系統對於系統運維,服務治理與排程,資料同步以及系統的安全性有很高的要求。
總的來說,兩種架構各有各的優點,不能簡單的說好與不好,只有合適不合適,下面的**中簡單列舉了兩種架構之間的差別。像個人部落格,這種訪問量比較小,功能比較單一的使用單體架構就足夠,而電商和金融這種訪問量高,比較複雜的系統更適合用分布式系統架構。
分布式系統簡單理解
分布式系統 分布式系統是針對乙個大系統而言,將乙個大系統分成多個子系統,即多個工程系統。我們先看下傳統的系統模式 這種是將多個功能模組全部在乙個工程中寫完。缺點 1 模組之間耦合度太高,其中乙個公升級其他都得公升級 2 開發困難,各個團隊開發最後都要整合一起 3 系統的擴充套件性差 4 不能靈活的進...
分布式事務的簡單理解
單獨的系統中,事務是本地事務。而在分布式系統中,乙個業務的完成需要及多個系統,需要涉及多個資料來源。比如訂單系統,下訂單這個業務需要涉及支付系統,庫存系統,物流系統等,假如庫存系統出現問題,事務回滾,那麼其他子系統的事務也必須回滾,否則就會出現事務不一致,導致下訂單操作出現錯誤。多個資料來源,就需要...
對分布式事務的簡單理解
分布式事務就是把乙個包含多個操作步驟的業務操作 這些操作往往是由不同的應用系統來完成的 作為乙個整體來對待,要麼都成功,要麼都失敗。問題是各個操作步驟在不同的業務系統中進行操作,網路速度,系統故障等各種因素都有可能影響操作結果,必須採取有效方法來達到事務的目的。所謂的原子性就是說,在整個事務中的所有...