掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
經(jīng)常有朋友問(wèn)我,為什么要做分層架構(gòu),什么時(shí)候架構(gòu)要抽象一層,今天來(lái)聊一聊這個(gè)問(wèn)題。

上圖是一個(gè)典型的互聯(lián)網(wǎng)分層架構(gòu):
如果實(shí)施了服務(wù)化,這個(gè)分層架構(gòu)圖可能是這樣:
中間多了一個(gè)服務(wù)層。
同一個(gè)層次的內(nèi)部,例如端上的APP,以及web-server,也都有進(jìn)行MVC分層:
可以看到,每個(gè)工程師骨子里,都潛移默化的實(shí)施著分層架構(gòu)。
那么,互聯(lián)網(wǎng)分層架構(gòu)的本質(zhì)究竟是什么呢?
如果我們仔細(xì)思考會(huì)發(fā)現(xiàn),不管是跨進(jìn)程的分層架構(gòu),還是進(jìn)程內(nèi)的MVC分層,都是一個(gè)“數(shù)據(jù)移動(dòng)”,然后“被處理”和“被呈現(xiàn)”的過(guò)程,歸根結(jié)底一句話:互聯(lián)網(wǎng)分層架構(gòu),是一個(gè)數(shù)據(jù)移動(dòng),處理,呈現(xiàn)的過(guò)程,其中數(shù)據(jù)移動(dòng)是整個(gè)過(guò)程的核心。
如上圖所示,數(shù)據(jù)處理和呈現(xiàn)要CPU計(jì)算,CPU是固定不動(dòng)的:
數(shù)據(jù)是移動(dòng)的:
數(shù)據(jù)要移動(dòng),所以有兩個(gè)東西很重要:
先看數(shù)據(jù)傳輸?shù)母袷?,即協(xié)議很重要:
再看數(shù)據(jù)在各層次的形態(tài),以用戶數(shù)據(jù)為例:
結(jié)論:互聯(lián)網(wǎng)分層架構(gòu)的本質(zhì),是數(shù)據(jù)的移動(dòng)。
為什么要說(shuō)這個(gè),這將會(huì)引出“分層架構(gòu)演進(jìn)”的核心原則與方法:
有了上面的鋪墊,水友經(jīng)常問(wèn)的這些問(wèn)題:
就非常好回答了,下期和大家深究。
畫(huà)外音:網(wǎng)友們的這些提問(wèn),其實(shí)很難回答。在不了解業(yè)務(wù)發(fā)展階段,業(yè)務(wù)規(guī)模,數(shù)據(jù)量并發(fā)量的情況下,妄下YES或NO的結(jié)論,本身就是不負(fù)責(zé)任的。
總結(jié)
【本文為專(zhuān)欄作者“58沈劍”原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)聯(lián)系原作者】

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流