更新時間:2022-07-01 10:04:11 來源:動力節(jié)點 瀏覽1155次
在談分布式系統(tǒng)架構前,我們先來看看,什么是分布式系統(tǒng)?
假設原來我們有一個系統(tǒng),代碼量30多萬行。現(xiàn)在拆分成20個小系統(tǒng),每個小系統(tǒng)1萬多行代碼。
原本代碼之間都是直接基于Spring框架走JVM內存設置調用,現(xiàn)在拆開來,將20個小系統(tǒng)部署在不同的機器上,然后基于分布式服務框架(比如dubbo)搞一個rpc調用,接口與接口之間通過網(wǎng)絡通信來進行請求和響應。
所以分布式系統(tǒng)很重要的特點就是服務間要跨網(wǎng)絡進行調用,我們來看下面的圖:

此外,分布式系統(tǒng)可以大概可以分成兩類。
1. 底層的分布式系統(tǒng)。
比如hadoop hdfs(分布式存儲系統(tǒng))、spark(分布式計算系統(tǒng))、storm(分布式流式計算系統(tǒng))、elasticsearch(分布式搜索系統(tǒng))、kafka(分布式發(fā)布訂閱消息系統(tǒng))等。
2. 分布式業(yè)務系統(tǒng)
分布式業(yè)務系統(tǒng),把原來用java開發(fā)的一個大塊系統(tǒng),給拆分成多個子系統(tǒng),多個子系統(tǒng)之間互相調用,形成一個大系統(tǒng)的整體。
舉個例子,假設原來你做了一個OA系統(tǒng),里面包含了權限模塊、員工模塊、請假模塊、財務模塊,一個工程,里面包含了一堆模塊,模塊與模塊之間會互相去調用,1臺機器部署。
現(xiàn)在如果你把他這個系統(tǒng)給拆開,權限系統(tǒng),員工系統(tǒng),請假系統(tǒng),財務系統(tǒng),4個系統(tǒng),4個工程,分別在4臺機器上部署。
然后一個請求過來,完成這個請求,員工系統(tǒng)去調用權限系統(tǒng),調用請假系統(tǒng),調用財務系統(tǒng),4個系統(tǒng)分別完成了一部分的事情。
最后4個系統(tǒng)都干完了以后,才認為是這個請求已經(jīng)完成了。這就是所謂的分布式業(yè)務系統(tǒng)。
同樣,我們來一張圖,感受一下上述過程:

通過上述介紹,相信大家對什么是分布式系統(tǒng)架構已經(jīng)有所了解,大家如果對此比較感興趣,想了解更多相關知識,可以關注一下動力節(jié)點的Java分布式系統(tǒng)框架教程,里面有更豐富的知識等著大家去學習,希望對大家能夠有所幫助哦。