上圖是乙個典型的網際網路分層架構:
站點應用層:實現核心業務邏輯,從下游獲取資料,對上游返回html或者json
資料-快取層:加速訪問儲存
資料-資料庫層:固化資料儲存
如果實施了服務化,這個分層架構圖可能是這樣:
中間多了乙個服務層。
可以看到,每個工程師骨子裡,都潛移默化的實施著分層架構。
那麼,網際網路分層架構的本質究竟是什麼呢?
如果我們仔細思考會發現,不管是跨程序的分層架構,還是程序內的mvc分層,都是乙個「資料移動」,然後「被處理」和「被呈現」的過程,歸根結底一句話:網際網路分層架構,是乙個資料移動,處理,呈現的過程,其中資料移動是整個過程的核心。
如上圖所示:
資料處理和呈現要cpu計算,cpu是固定不動的:
資料是移動的:
資料要移動,所以有兩個東西很重要:
先看資料傳輸的格式,即協議很重要:
再看資料在各層次的形態,以使用者資料為例:
結論:網際網路分層架構的本質,是資料的移動。
為什麼要說這個,這將會引出「分層架構演進」的核心原則與方法:
(網友們的這些提問,其實很難回答。在不了解業務發展階段,業務規模,資料量併發量的情況下,妄下yes或no的結論,本身就是不負責任的。)總結
思考哪乙個系統的架構,不是「固定cpu,移動資料」,而是「固定資料,移動cpu」呢?
網際網路架構
網際網路架構,主要追求的是高可用,可擴充套件 這兩個特性 在這裡做了一些個人的總結,算是給2014年的工作做個總結。推陳出新 一定要做的,死守積累會逐漸丟失人才,但凡技術公司都會不斷更新技術 kiss原則 keep it stupid優秀的 都會很簡單,簡單理解,簡單更改,能把複雜的事情做簡單是一種...
網際網路架構
使用者在同一時間內大量的訪問伺服器,tomcat伺服器併發能力為 200 250左右 jvm調優為1000 硬體條件 物理伺服器處理能力 網路頻寬 2.1 分布式計算 由多個執行緒,共同來完成某項特定的任務,拆合問題 2.2 分布式系統 distributed system 是建立在網路之上的軟體系...
網際網路與網際網路的區別
網際網路的英文單詞是 internet,網際網路的英文單詞是 internet。在英語中,專有名詞首字母都是大寫,用於特指某一事物。大寫的 internet 是作為乙個專有名詞出現的,所指的是由阿帕網發展而來的現如今全球最大的計算機網路,稱之為網際網路。小寫 internet 是作為乙個普通單詞出現...