現(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)控、自動(dòng)化運(yùn)維、SOA 服務(wù)治理、去 IOE 等等,還有很多。
那什么是分布式系統(tǒng)?分布式系統(tǒng)是支持分布式處理的軟件系統(tǒng),是由通信網(wǎng)絡(luò)互聯(lián)的多處理機(jī)體系結(jié)構(gòu)上執(zhí)行任務(wù)的系統(tǒng)。包括分布式操作系統(tǒng)、分布式程序設(shè)計(jì)語(yǔ)言及其編譯系統(tǒng)、分布式文件系統(tǒng)分布式數(shù)據(jù)庫(kù)系統(tǒng)等,當(dāng)然這些也是分布式的關(guān)鍵技術(shù)。
使用分布式系統(tǒng)主要有:
1.增大系統(tǒng)容量。我們的業(yè)務(wù)量越來(lái)越大,而要能應(yīng)對(duì)越來(lái)越大的業(yè)務(wù)量,一臺(tái)機(jī)器的性能已經(jīng)無(wú)法滿足了,我們需要多臺(tái)機(jī)器才能應(yīng)對(duì)大規(guī)模的應(yīng)用場(chǎng)景。所以,我們需要垂直或是水平拆分業(yè)務(wù)系統(tǒng),讓其變成一個(gè)分布式的架構(gòu)。
2.加強(qiáng)系統(tǒng)可用。我們的業(yè)務(wù)越來(lái)越關(guān)鍵,需要提高整個(gè)系統(tǒng)架構(gòu)的可用性,這就意味著架構(gòu)中不能存在單點(diǎn)故障。這樣,整個(gè)系統(tǒng)不會(huì)因?yàn)橐慌_(tái)機(jī)器出故障而導(dǎo)致整體不可用。所以,需要通過(guò)分布式架構(gòu)來(lái)冗余系統(tǒng)以消除單點(diǎn)故障,從而提高系統(tǒng)的可用性。
3.因?yàn)槟K化,所以系統(tǒng)模塊重用度更高
4.因?yàn)檐浖?wù)模塊被拆分,開發(fā)和發(fā)布速度可以并行而變得更快
5.系統(tǒng)擴(kuò)展性更高
6.團(tuán)隊(duì)協(xié)作流程也會(huì)得到改善
分布式系統(tǒng)的類型有三種:
1.分布式處理,但只有一個(gè)總數(shù)據(jù)庫(kù),沒(méi)有局部數(shù)據(jù)庫(kù)
2.分層式處理,每一層都有自己的數(shù)據(jù)庫(kù)
3.充分分散的分布式網(wǎng)絡(luò),沒(méi)有中央控制部分,各節(jié)點(diǎn)之間的聯(lián)系方式又可以有多種,如松散的聯(lián)接,緊密的聯(lián)接,動(dòng)態(tài)的聯(lián)接,廣播通知式的聯(lián)接等
然后來(lái)對(duì)比一下單體應(yīng)用和分布式架構(gòu)的優(yōu)缺點(diǎn):
1.從上面的表格可以看到,分布式系統(tǒng)雖然有一些優(yōu)勢(shì),但也存在一些問(wèn)題
2.架構(gòu)設(shè)計(jì)變得復(fù)雜(尤其是其中的分布式事務(wù))
3.部署單個(gè)服務(wù)會(huì)比較快,但是如果一次部署需要多個(gè)服務(wù),部署會(huì)變得復(fù)雜
4.系統(tǒng)的吞吐量會(huì)變大,但是響應(yīng)時(shí)間會(huì)變長(zhǎng)
5.運(yùn)維復(fù)雜度會(huì)因?yàn)榉?wù)變多而變得很復(fù)雜
6.架構(gòu)復(fù)雜導(dǎo)致學(xué)習(xí)曲線變大
7.測(cè)試和查錯(cuò)的復(fù)雜度增大
8.技術(shù)可以很多樣,這會(huì)帶來(lái)維護(hù)和運(yùn)維的復(fù)雜度
9.管理分布式系統(tǒng)中的服務(wù)和調(diào)度變得困難和復(fù)雜
Java架構(gòu)師相關(guān)視頻教程
SpringBoot自動(dòng)裝配實(shí)現(xiàn)原理剖析:http://www.bjpowernode.com/javavideo/135.html
阿里P7面試Spring整合MyBatis源碼分析:http://www.bjpowernode.com/javavideo/136.html
超易懂一行一行手寫實(shí)現(xiàn)分布式鎖:http://www.bjpowernode.com/javavideo/137.html
帶你手寫實(shí)現(xiàn)服務(wù)的注冊(cè)與發(fā)現(xiàn):http://www.bjpowernode.com/javavideo/138.html
以上就是天津卓眾教育java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java高級(jí)架構(gòu)師全套視頻之分布式架構(gòu)”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
Java視頻