什么是分布式 有多少互聯(lián)網(wǎng)系統(tǒng)確實(shí)需要使用分布式架構(gòu)?
有多少互聯(lián)網(wǎng)系統(tǒng)確實(shí)需要使用分布式架構(gòu)?莫說互聯(lián)網(wǎng)實(shí)戰(zhàn)開發(fā),現(xiàn)在就連面試應(yīng)屆生的時(shí)候,分布式方面的問題都基本是必出的了。分布式架構(gòu)簡(jiǎn)介以最簡(jiǎn)單的架構(gòu)來說,分布式可以通過部署多個(gè)功能相近的服務(wù)器節(jié)點(diǎn)來實(shí)
有多少互聯(lián)網(wǎng)系統(tǒng)確實(shí)需要使用分布式架構(gòu)?
莫說互聯(lián)網(wǎng)實(shí)戰(zhàn)開發(fā),現(xiàn)在就連面試應(yīng)屆生的時(shí)候,分布式方面的問題都基本是必出的了。
分布式架構(gòu)簡(jiǎn)介
以最簡(jiǎn)單的架構(gòu)來說,分布式可以通過部署多個(gè)功能相近的服務(wù)器節(jié)點(diǎn)來實(shí)現(xiàn)。在實(shí)際應(yīng)用中,只暴露出一個(gè)域名給用戶,該域名地址通常對(duì)應(yīng)的是一個(gè)Nginx,用于負(fù)載均衡。Nginx在收到請(qǐng)求后,會(huì)根據(jù)當(dāng)前情況,將請(qǐng)求分配給不同的服務(wù)器節(jié)點(diǎn)來響應(yīng)。這套系統(tǒng)的架構(gòu)圖中,多個(gè)服務(wù)器節(jié)點(diǎn)的地位是相同。
分布式架構(gòu)的優(yōu)點(diǎn)
從當(dāng)前來看,分布式的架構(gòu)主要有高并發(fā),高穩(wěn)定的特點(diǎn)。
高并發(fā)是指當(dāng)單節(jié)點(diǎn)服務(wù)器的性能已經(jīng)達(dá)到了瓶頸之后,可以通過引入Nginx,部署多個(gè)服務(wù)器節(jié)點(diǎn)的方式來擴(kuò)容,增加系統(tǒng)的吞吐量。這就是 1*N =N的意義。
高穩(wěn)定是指如果由于不可預(yù)測(cè)的原因,發(fā)生了單個(gè)或部分節(jié)點(diǎn)宕機(jī),不會(huì)影響系統(tǒng)整體的功能服務(wù),即M-N>0(其中M>N),對(duì)于用戶來說,系統(tǒng)可用永遠(yuǎn)是最重要的。
以上兩點(diǎn)對(duì)評(píng)估系統(tǒng)性能,以及服務(wù)口碑方面有著非常重要的意義。
綜上,根據(jù)我個(gè)人的經(jīng)驗(yàn),目前不論是市場(chǎng)級(jí)產(chǎn)品還是公司級(jí)產(chǎn)品,只要是對(duì)服務(wù)質(zhì)量有追求的項(xiàng)目組,都會(huì)殊途同歸發(fā)展到分布式架構(gòu)。
此外,對(duì)于功能不是非常復(fù)雜龐大的項(xiàng)目組來說,只要在最開始開發(fā)設(shè)計(jì)階段,就及時(shí)引入memcache或者Redis作為數(shù)據(jù)緩存,而不是使用server的內(nèi)存,那么后期切換為分布式系統(tǒng)的過程也會(huì)十分快捷。
以上是我的個(gè)人淺見,歡迎各位在下方評(píng)論區(qū)與我溝通。
我是蘇蘇思量,來自BAT的java開發(fā)工程師,每天分享科技類見聞,歡迎關(guān)注我,與我共同進(jìn)步。