成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

互聯(lián)網(wǎng)分層架構(gòu)的本質(zhì)

開發(fā) 開發(fā)工具
可以看到,每個工程師骨子里,都潛移默化的實施著分層架構(gòu). 那么,互聯(lián)網(wǎng)分層架構(gòu)的本質(zhì)究竟是什么呢?

典型的互聯(lián)網(wǎng)分層架構(gòu)

上圖是一個典型的互聯(lián)網(wǎng)分層架構(gòu):

  • 客戶端層:典型調(diào)用方是browser或者APP
  • 站點應(yīng)用層:實現(xiàn)核心業(yè)務(wù)邏輯,從下游獲取數(shù)據(jù),對上游返回html或者json
  • 數(shù)據(jù)-緩存層:加速訪問存儲
  • 數(shù)據(jù)-數(shù)據(jù)庫層:固化數(shù)據(jù)存儲

如果實施了服務(wù)化,這個分層架構(gòu)圖可能是這樣:

中間多了一個服務(wù)層。

同一個層次的內(nèi)部,例如端上的APP,以及web-server,也都有進行MVC分層:

  • view層:展現(xiàn)
  • control層:邏輯
  • model層:數(shù)據(jù)

可以看到,每個工程師骨子里,都潛移默化的實施著分層架構(gòu)。

那么,互聯(lián)網(wǎng)分層架構(gòu)的本質(zhì)究竟是什么呢?

如果我們仔細(xì)思考會發(fā)現(xiàn),不管是跨進程的分層架構(gòu),還是進程內(nèi)的MVC分層,都是一個“數(shù)據(jù)移動”,然后“被處理”和“被呈現(xiàn)”的過程,歸根結(jié)底一句話:互聯(lián)網(wǎng)分層架構(gòu),是一個數(shù)據(jù)移動,處理,呈現(xiàn)的過程,其中數(shù)據(jù)移動是整個過程的核心。

數(shù)據(jù)處理和呈現(xiàn)要CPU計算,CPU是固定不動的

如上圖所示:

數(shù)據(jù)處理和呈現(xiàn)要CPU計算,CPU是固定不動的:

  • db/service/web-server都部署在固定的集群上
  • 端上,不管是browser還是APP,也有固定的CPU處理

數(shù)據(jù)是移動的:

  • 跨進程移動:數(shù)據(jù)從數(shù)據(jù)庫和緩存里,轉(zhuǎn)移到service層,到web-server層,到client層
  • 同進程移動:數(shù)據(jù)從model層,轉(zhuǎn)移到control層,轉(zhuǎn)移到view層

數(shù)據(jù)要移動,所以有兩個東西很重要:

  • 數(shù)據(jù)傳輸?shù)母袷?/li>
  • 數(shù)據(jù)在各層次的形態(tài)

先看數(shù)據(jù)傳輸?shù)母袷剑磪f(xié)議很重要:

  • service與db/cache之間,二進制協(xié)議/文本協(xié)議是數(shù)據(jù)傳輸?shù)妮d體
  • web-server與service之間,RPC的二進制協(xié)議是數(shù)據(jù)傳輸?shù)妮d體
  • client和web-server之間,http協(xié)議是數(shù)據(jù)傳輸?shù)妮d體

再看數(shù)據(jù)在各層次的形態(tài),以用戶數(shù)據(jù)為例:

  • db層,數(shù)據(jù)是以“行”為單位存在的row(uid, name, age)
  • cache層,數(shù)據(jù)是以kv的形式存在的kv(uid -> User)
  • service層,會把row或者kv轉(zhuǎn)化為對程序友好的User對象
  • web-server層,會把對程序友好的User對象轉(zhuǎn)化為對http友好的json對象
  • client層:最終端上拿到的是json對象

結(jié)論:互聯(lián)網(wǎng)分層架構(gòu)的本質(zhì),是數(shù)據(jù)的移動。

為什么要說這個,這將會引出“分層架構(gòu)演進”的核心原則與方法:

  • 讓上游更高效的獲取與處理數(shù)據(jù),復(fù)用
  • 讓下游能屏蔽數(shù)據(jù)的獲取細(xì)節(jié),封裝

弄清楚這個原則與方法,再加上一些經(jīng)驗積累,就能回答網(wǎng)友經(jīng)常在評論中提出的這些問題了:

  • 是否需要引入DAO層,什么時機引入
  • 是否需要服務(wù)化,什么時機服務(wù)化
  • 是否需要抽取通用中臺業(yè)務(wù),什么時機抽取
  • 是否需要前后端分離,什么時機分離

(網(wǎng)友們的這些提問,其實很難回答。在不了解業(yè)務(wù)發(fā)展階段,業(yè)務(wù)規(guī)模,數(shù)據(jù)量并發(fā)量的情況下,妄下YES或NO的結(jié)論,本身就是不負(fù)責(zé)任的。)

更具體的分層架構(gòu)演進細(xì)節(jié),下一篇和大家細(xì)究。

總結(jié)

  • 互聯(lián)網(wǎng)分層架構(gòu)的本質(zhì),是數(shù)據(jù)的移動
  • 互聯(lián)網(wǎng)分層架構(gòu)中,數(shù)據(jù)的傳輸格式(協(xié)議)與數(shù)據(jù)在各層次的形態(tài)很重要
  • 互聯(lián)網(wǎng)分層架構(gòu)演進的核心原則與方法:封裝與復(fù)用

思考

哪一個系統(tǒng)的架構(gòu),不是“固定CPU,移動數(shù)據(jù)”,而是“固定數(shù)據(jù),移動CPU”呢?

【本文為51CTO專欄作者“58沈劍”原創(chuàng)稿件,轉(zhuǎn)載請聯(lián)系原作者】

戳這里,看該作者更多好文

責(zé)任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2020-08-11 09:43:28

分層架構(gòu)互聯(lián)網(wǎng)架構(gòu)

2020-08-13 09:22:11

MapReduce分層架構(gòu)架構(gòu)

2023-08-27 21:02:14

2017-10-18 14:31:34

互聯(lián)網(wǎng)分層架構(gòu)服務(wù)化

2020-09-29 07:42:34

互聯(lián)網(wǎng)分層架構(gòu)前后端分離

2017-11-06 08:41:53

互聯(lián)網(wǎng)分層架構(gòu)前后端

2012-09-18 13:58:58

互聯(lián)網(wǎng)創(chuàng)業(yè)架構(gòu)

2015-06-24 15:35:54

2015-05-28 16:11:07

互聯(lián)網(wǎng)+

2018-08-15 09:02:59

產(chǎn)業(yè)互聯(lián)網(wǎng)工業(yè)互聯(lián)網(wǎng)物聯(lián)網(wǎng)

2023-12-05 10:33:15

工業(yè)互聯(lián)網(wǎng)互聯(lián)網(wǎng)平臺

2019-09-02 16:12:16

工業(yè)互聯(lián)網(wǎng)智能制造體系架構(gòu)

2014-01-15 14:35:35

云計算

2017-08-03 16:37:35

互聯(lián)網(wǎng)法院司法

2015-10-08 15:20:34

互聯(lián)網(wǎng)物聯(lián)網(wǎng)

2011-08-19 11:33:32

2012-06-26 13:18:23

互聯(lián)網(wǎng)公社

2015-09-22 09:17:33

互聯(lián)網(wǎng)發(fā)展史

2015-12-17 11:36:31

資本寒冬互聯(lián)網(wǎng)創(chuàng)業(yè)

2015-10-30 17:50:18

互聯(lián)網(wǎng)金融
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 91福利网址 | 成人国产午夜在线观看 | 视频在线一区二区 | 亚洲精品国产成人 | 99精品国产一区二区三区 | 操操日 | av影音在线 | 亚洲精品片 | 中文字幕国产 | 成人福利网站 | 青青草久久| 日韩视频在线一区二区 | 亚洲国产成人精品女人久久久 | 亚洲va国产日韩欧美精品色婷婷 | 羞羞视频在线观看网站 | 97国产精品视频 | 国产亚洲精品精品国产亚洲综合 | 日本欧美国产 | 亚洲一区精品在线 | 天天综合成人网 | 欧美在线资源 | 一级黄色播放 | 亚洲免费在线 | 国产黄色在线观看 | 成人一区二区电影 | 久久久蜜桃一区二区人 | 九色视频网 | 中文字幕亚洲精品 | 网址黄| 一区二区三区视频在线 | 欧美视频免费 | 国产精品亚洲二区 | 密色视频 | 欧美a级网站 | 欧美成人精品二区三区99精品 | 天天干天天谢 | 亚洲精品国产成人 | 国产精品99免费视频 | 视频一区在线观看 | xxxxxx国产| 日韩精品一区二区三区 |