現(xiàn)在的架構(gòu)很多,各種各樣的,如高并發(fā)架構(gòu)、異地多活架構(gòu)、容器化架構(gòu)、微服務(wù)架構(gòu)、高可用架構(gòu)、彈性化架構(gòu)等,還有和這些架構(gòu)相關(guān)的管理型的技術(shù)方法,如 DevOps、應(yīng)用監(jiān)控、自動化運維、SOA 服務(wù)治理、去 IOE 等等,還有很多。
創(chuàng)新互聯(lián)公司主要為客戶提供服務(wù)項目涵蓋了網(wǎng)頁視覺設(shè)計、VI標志設(shè)計、營銷網(wǎng)站、網(wǎng)站程序開發(fā)、HTML5響應(yīng)式成都網(wǎng)站建設(shè)、手機網(wǎng)站制作設(shè)計、微商城、網(wǎng)站托管及成都網(wǎng)站維護公司、WEB系統(tǒng)開發(fā)、域名注冊、國內(nèi)外服務(wù)器租用、視頻、平面設(shè)計、SEO優(yōu)化排名。設(shè)計、前端、后端三個建站步驟的完善服務(wù)體系。一人跟蹤測試的建站服務(wù)標準。已經(jīng)為成都隧道混凝土攪拌車行業(yè)客戶提供了網(wǎng)站維護服務(wù)。
那什么是分布式系統(tǒng)?分布式系統(tǒng)是支持分布式處理的軟件系統(tǒng),是由通信網(wǎng)絡(luò)互聯(lián)的多處理機體系結(jié)構(gòu)上執(zhí)行任務(wù)的系統(tǒng)。包括分布式操作系統(tǒng)、分布式程序設(shè)計語言及其編譯系統(tǒng)、分布式文件系統(tǒng)分布式數(shù)據(jù)庫系統(tǒng)等,當然這些也是分布式的關(guān)鍵技術(shù)。
?
使用分布式系統(tǒng)主要有:
?
1.增大系統(tǒng)容量。我們的業(yè)務(wù)量越來越大,而要能應(yīng)對越來越大的業(yè)務(wù)量,一臺機器的性能已經(jīng)無法滿足了,我們需要多臺機器才能應(yīng)對大規(guī)模的應(yīng)用場景。所以,我們需要垂直或是水平拆分業(yè)務(wù)系統(tǒng),讓其變成一個分布式的架構(gòu)。
2.加強系統(tǒng)可用。我們的業(yè)務(wù)越來越關(guān)鍵,需要提高整個系統(tǒng)架構(gòu)的可用性,這就意味著架構(gòu)中不能存在單點故障。這樣,整個系統(tǒng)不會因為一臺機器出故障而導(dǎo)致整體不可用。所以,需要通過分布式架構(gòu)來冗余系統(tǒng)以消除單點故障,從而提高系統(tǒng)的可用性。
?
3.因為模塊化,所以系統(tǒng)模塊重用度更高
?
4.因為軟件服務(wù)模塊被拆分,開發(fā)和發(fā)布速度可以并行而變得更快
?
5.系統(tǒng)擴展性更高
?
6.團隊協(xié)作流程也會得到改善
?
分布式系統(tǒng)的類型有三種:
?
1.分布式處理,但只有一個總數(shù)據(jù)庫,沒有局部數(shù)據(jù)庫
?
2.分層式處理,每一層都有自己的數(shù)據(jù)庫
?
3.充分分散的分布式網(wǎng)絡(luò),沒有中央控制部分,各節(jié)點之間的聯(lián)系方式又可以有多種,如松散的聯(lián)接,緊密的聯(lián)接,動態(tài)的聯(lián)接,廣播通知式的聯(lián)接等
?
然后來對比一下單體應(yīng)用和分布式架構(gòu)的優(yōu)缺點:
?
?
1.從上面的表格可以看到,分布式系統(tǒng)雖然有一些優(yōu)勢,但也存在一些問題
?
2.架構(gòu)設(shè)計變得復(fù)雜(尤其是其中的分布式事務(wù))
?
3.部署單個服務(wù)會比較快,但是如果一次部署需要多個服務(wù),部署會變得復(fù)雜
?
4.系統(tǒng)的吞吐量會變大,但是響應(yīng)時間會變長
?
5.運維復(fù)雜度會因為服務(wù)變多而變得很復(fù)雜
?
6.架構(gòu)復(fù)雜導(dǎo)致學(xué)習曲線變大
?
7.測試和查錯的復(fù)雜度增大
?
8.技術(shù)可以很多樣,這會帶來維護和運維的復(fù)雜度
?
9.管理分布式系統(tǒng)中的服務(wù)和調(diào)度變得困難和復(fù)雜
?
所以總結(jié)一下,分布式系統(tǒng)架構(gòu)的難點在于系統(tǒng)設(shè)計,以及管理和運維。所以分布式系統(tǒng)架構(gòu)在解決了一些問題的同時,也增加了其他的問題,這就需要不斷的再用各種各樣的技術(shù)跟手段去解決這些新增的問題。后續(xù)會跟上分布式系統(tǒng)架構(gòu)的搭建以及使用。