什麼是分佈式系統!以及分佈式系統架構的優缺點!

現在的架構很多,各種各樣的,如高併發架構、異地多活架構、容器化架構、微服務架構、高可用架構、彈性化架構等,還有和這些架構相關的管理型的技術方法,如 DevOps、應用監控、自動化運維、SOA 服務治理、去 IOE 等等,還有很多。


那什麼是分佈式系統?分佈式系統是支持分佈式處理的軟件系統,是由通信網絡互聯的多處理機體系結構上執行任務的系統。包括分佈式操作系統、分佈式程序設計語言及其編譯系統、分佈式文件系統分佈式數據庫系統等,當然這些也是分佈式的關鍵技術。


使用分佈式系統主要有:


1.增大系統容量。我們的業務量越來越大,而要能應對越來越大的業務量,一臺機器的性能已經無法滿足了,我們需要多臺機器才能應對大規模的應用場景。所以,我們需要垂直或是水平拆分業務系統,讓其變成一個分佈式的架構。


2.加強系統可用。我們的業務越來越關鍵,需要提高整個系統架構的可用性,這就意味着架構中不能存在單點故障。這樣,整個系統不會因爲一臺機器出故障而導致整體不可用。所以,需要通過分佈式架構來冗餘系統以消除單點故障,從而提高系統的可用性。


3.因爲模塊化,所以系統模塊重用度更高


4.因爲軟件服務模塊被拆分,開發和發佈速度可以並行而變得更快


5.系統擴展性更高


6.團隊協作流程也會得到改善


分佈式系統的類型有三種:


1.分佈式處理,但只有一個總數據庫,沒有局部數據庫


2.分層式處理,每一層都有自己的數據庫


3.充分分散的分佈式網絡,沒有中央控制部分,各節點之間的聯繫方式又可以有多種,如鬆散的聯接,緊密的聯接,動態的聯接,廣播通知式的聯接等


然後來對比一下單體應用和分佈式架構的優缺點:




1.從上面的表格可以看到,分佈式系統雖然有一些優勢,但也存在一些問題


2.架構設計變得複雜(尤其是其中的分佈式事務)


3.部署單個服務會比較快,但是如果一次部署需要多個服務,部署會變得複雜


4.系統的吞吐量會變大,但是響應時間會變長


5.運維複雜度會因爲服務變多而變得很複雜


6.架構複雜導致學習曲線變大


7.測試和查錯的複雜度增大


8.技術可以很多樣,這會帶來維護和運維的複雜度


9.管理分佈式系統中的服務和調度變得困難和複雜



所以總結一下,分佈式系統架構的難點在於系統設計,以及管理和運維。所以分佈式系統架構在解決了一些問題的同時,也增加了其他的問題,這就需要不斷的再用各種各樣的技術跟手段去解決這些新增的問題。後續會跟上分佈式系統架構的搭建以及使用。


Hadoop僞分佈式集羣搭建使用

Hadoop HA 高可用關鍵搭建

歡迎工作一到五年的 Java 的工程師朋友們加入的 Java 架構開發:705127209

本羣提供免費的學習指導架構資料以及免費的解答

不懂得問題都可以在本羣提出來之後還會有職業生涯規劃以及面試指導

作者:OnTheRoad_Kang 

來源:CSDN 

原文:https://blog.csdn.net/qq_32297447/article/details/79081112 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章