什麼是分散式系統?
要理解分散式系統,主要需要明白2個面向:
1.分散式系統一定是由多個節點組成的系統。
其中,節點指的是電腦伺服器,而這些節點一般不是孤立的,而是互通的。
2.這些連通的節點上部署了我們的節點,並且相互的操作會有協同。
分散式系統對使用者而言,他們面對的就是一個伺服器,提供使用者所需的服務而已,而實際上這些服務是透過背後的眾多伺服器組成的一個分散式系統,因此分散式系統看起來像是超級電腦。
例如淘寶,平常大家都會使用,它本身就是一個分散式系統,我們透過瀏覽器造訪淘寶網站時,這個請求的背後就是一個龐大的分散式系統在為我們提供服務,整個系統中有的負責請求處理,有的負責存儲,有的負責計算,最終他們相互協調把最後的結果返回並呈現給用戶。
使用分散式系統主要有特色:
1.增大系統容量。我們的業務量越來越大,要能應付越來越大的業務量,一台機器的效能已經無法滿足了,我們需要多台機器才能應付大規模的應用場景。所以,我們需要垂直或水平拆分業務系統,讓其變成分散式的架構。
2.加強系統可用。我們的業務越來越關鍵,需要提高整個系統架構的可用性,這意味著架構中不能有單點故障。這樣,整個系統不會因為一台機器故障而導致整體無法使用。所以,需要透過分散式架構來冗餘系統以消除單點故障,從而提高系統的可用性。
3.因為模組化,所以系統模組重用度更高。
4.因為軟體服務模組被拆分,開發和發布速度可以並行而變得更快。
5.系統擴充性更高。
6.團隊協作流程也會改善。
分散式系統的型別有三種:
1.分散式處理,但只有一個總資料庫,沒有局部資料庫。
2.分層式處理,每一層都有自己的資料庫。
3.充分分散的分散式網絡,沒有中央控制部分,各節點之間的聯繫方式又可以有多種,如鬆散的聯接,緊密的聯接,動態的聯接,廣播通知式的聯接等。
什麼是 JAVA 分散式應用?
一個大型的系統往往被分成幾個子系統來做,一個子系統可以部署在一台機器的多個 JVM 上,也可以部署在多台機器上。但是每一個系統不是獨立的,不是完全獨立的。需要相互通信,共同實現業務功能。
一句話來說:分散式就是透過電腦網路將後端工作分散到多台主機上,多個主機一起協同完成工作。
實現分散式主要的方式
分散式應用程式用到的技術: 網路通信,基於訊息方式的系統間通訊和基於遠端呼叫的系統間通信。
缺點:就是會增加技術的複雜度。
基於訊息的系統通訊方式,主要是利用的網路協議,例如 TCP/IP 協定。
系統間的通訊也需要對資料進行處理,例如同步 IO 和非同步 IO。
遠端呼叫實現系統間的通訊:透過呼叫本地的java介面的方法來透明的呼叫遠端java的實作。具體的細節有框架來實現。
眾多java訓練影片,盡在PHP中文網,歡迎線上學習!
以上是java 什麼是分散式的詳細內容。更多資訊請關注PHP中文網其他相關文章!