1. 程式人生 > >教你簡單理解分布式與傳統單體架構的區別

教你簡單理解分布式與傳統單體架構的區別

兩種 處理 崗位 離職 pan 統架構 只有一個 只需要 rod

原文:教你簡單理解分布式與傳統單體架構的區別

分布式是一種系統架構方式,而在分布式系統中一般基於中間件進行開發,消息中間件是分布式系統中比較核心的中間件之一。這三樣東西隨便拿出一個來都可能要說上半天,而且個人水平有限,所以這裏我也只能按照個人的理解簡單說一下。

分布式是區別於傳統的傳統的單體架構而言的。

下面以小作坊和大工廠為例簡單說一下。

小作坊就相當於是傳統的單體架構

一般來說,小作坊人手比較少,甚至只有一個人,那麽其中所有的工作都要由他一個人負責,從接收訂單,到采購原料,再到生產,還有財務都需要他一個人來做,但畢竟每個人的精力有限,一個人的小作坊能夠承接的業務量也就很有限。如果這個人生病了,那整個作坊就無法運轉,無法提供任何服務。另一方面,隨著新東西的出現,總需要擴增一些新的產品線,那小作坊的負責人就必須自己去學習,而且能夠學到的東西也有限,無法擴展太多的產品線。單體架構與小作坊的生產模式類似,存在的缺陷也類似,單體架構的系統吞吐量差,故障影響範圍大,擴展性差,開發成本高,不適用於現在大多數的互聯網系統。

隨著業務的增長,小作坊已經處理不了大量的訂單,為了能夠繼續發展,只能改變工作模式,開始招兵買馬。

其中每個人都有自己的職責,有負責接收訂單的,有采銷,有技術工人,有財務,而且每個崗位都由一個多人小組來負責,這樣即使小組中有人離職或者生病請假,都不會對整個業務造成任何影響,仍然可以正常運轉。當訂單量增加,現有人手處理不過來的時候,只需要再招一些人就可以了。

如果需要開辟新的產品線和開展新業務,那麽只需要再培訓或者招聘一批專業的技術人員即可。

分布式系統的架構就與大工廠類似

分布式系統吞吐量大大提升,同時具有故障影響範圍小,易於擴展,開發成本低等諸多優點。但這也並不意味著分布式架構就很完美,與小作坊相比,大工廠員工很多,因此就帶來了很高的管理成本,以及溝通成本,如何維持員工之間的信息對等以及如何保證商業機密不泄露等都是比較大的問題。同樣,分布式系統對於系統運維,服務治理與調度,數據同步以及系統的安全性有很高的要求。

總的來說,兩種架構各有各的優點,不能簡單的說好與不好,只有合適不合適,下面的表格中簡單列舉了兩種架構之間的差別。像個人博客,這種訪問量比較小,功能比較單一的使用單體架構就足夠,而電商和金融這種訪問量高,比較復雜的系統更適合用分布式系統架構。

技術分享圖片

教你簡單理解分布式與傳統單體架構的區別