<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          圖解大型網(wǎng)站技術(shù)架構(gòu)演變過程!秒懂

          共 1856字,需瀏覽 4分鐘

           ·

          2021-10-14 19:51

          關(guān)注我們,設(shè)為星標(biāo),每天7:30不見不散,架構(gòu)路上與您共享?

          回復(fù)"架構(gòu)師"獲取資源


          大家好,我是架構(gòu)君,一個會寫代碼吟詩的架構(gòu)師。


          1、大型網(wǎng)站的特點


          • 高并發(fā),大流量:PV量巨大。即頁面瀏覽量;用戶每1次對網(wǎng)站中的每個網(wǎng)頁訪問均被記錄1次。用戶對同一頁面的多次訪問,訪問量累計。

          • 高可用:7*24小時不間斷服務(wù)。

          • 海量數(shù)據(jù):需要儲存、管理海量數(shù)據(jù),需要使用大量服務(wù)器。

          • 用戶分布 廣泛,網(wǎng)絡(luò)情況復(fù)雜:為全球用戶提供服務(wù),用戶分布范圍廣。

          • 安全環(huán)境惡劣:黑客攻擊多。

          • 需求快速變更,發(fā)布頻繁:快速適應(yīng)市場,滿足用戶需求。

          • 漸進式發(fā)展:慢慢地運營出大型網(wǎng)站。


          2、大型網(wǎng)站架構(gòu)演變過程


          • 初始階段網(wǎng)站架構(gòu)




          一臺Server就剛需—應(yīng)用程序、數(shù)據(jù)庫、文件等所有資源都集中在一臺Server上,典型案例:基于LAMP架構(gòu)的PHP網(wǎng)站。


          • 應(yīng)用和數(shù)據(jù)服務(wù)分離



          三臺Server平天下—業(yè)務(wù)發(fā)展,單臺不再適應(yīng)業(yè)務(wù)的發(fā)展,將應(yīng)用和數(shù)據(jù)分離后成三臺Sever(應(yīng)用服務(wù)器、文件服務(wù)器與數(shù)據(jù)庫服務(wù)器)。分離后三臺Server對硬件資源的需求各不相同:應(yīng)用服務(wù)器需要更快更強大的CPU,而數(shù)據(jù)庫服務(wù)器需要更快的硬盤和更大的內(nèi)存,文件服務(wù)器則需要更大的硬盤。


          • 使用緩存改善網(wǎng)站性能



          3+N的Server模式—減少數(shù)據(jù)庫訪問壓力,提高網(wǎng)站的數(shù)據(jù)訪問速度。緩存又可以分為:本地緩存和遠程緩存(可以是分布式的),本地緩存訪問速度快,但數(shù)據(jù)量有限;遠程分布式緩存可以集群,因此容量不受限制。


          • 使用應(yīng)用服務(wù)器集群改善網(wǎng)站并發(fā)處理能力



          集群—解決高并發(fā)、海量數(shù)據(jù)問題的常用手段,實現(xiàn)系統(tǒng)的可伸縮性。通過負載均衡調(diào)度器,可將用戶訪問分發(fā)到集群中的某臺Server上,應(yīng)用服務(wù)器的負載壓力不再成為整個網(wǎng)站的瓶頸。


          • 數(shù)據(jù)庫讀寫分離



          隨著用戶量的增加,數(shù)據(jù)庫成為最大的瓶頸,改善數(shù)據(jù)庫性能常用的手段是進行讀寫分離以及分表,讀寫分離顧名思義就是將數(shù)據(jù)庫分為讀庫和寫庫,通過主備功能實現(xiàn)數(shù)據(jù)同步。分庫分表則分為水平切分和垂直切分,水平切換則是對一個數(shù)據(jù)庫特大的表進行拆分,例如用戶表。垂直切分則是根據(jù)業(yè)務(wù)不同來切換,如用戶業(yè)務(wù)、商品業(yè)務(wù)相關(guān)的表放在不同的數(shù)據(jù)庫中。


          • 使用反向代理和CDN加速網(wǎng)站響應(yīng)



          CDN和反向代理的基本原理都是緩存,區(qū)別在于CDN部署在網(wǎng)絡(luò)提供商的機房,而反向代理則部署在網(wǎng)站的中心機房。使用CDN和反向代理的目的都是盡早返回數(shù)據(jù)給用戶,一方面加快用戶訪問速度,另一方面也減輕后端服務(wù)器的負載壓力。


          • 使用分布式文件系統(tǒng)和分布式數(shù)據(jù)庫系統(tǒng)



          用戶一天天增加,業(yè)務(wù)量越來越大,產(chǎn)生的文件越來越多,單臺的文件服務(wù)器已經(jīng)不能滿足需求。需要分布式的文件系統(tǒng)支撐。


          • 使用NoSQL和搜索引擎



          NoSQL和搜索引擎都是源自互聯(lián)網(wǎng)的技術(shù)手段,對可伸縮的分布式特性具有更好的支持。應(yīng)用服務(wù)器則通過一個統(tǒng)一數(shù)據(jù)訪問模塊訪問各種數(shù)據(jù),減輕應(yīng)用程序管理諸多數(shù)據(jù)源的麻煩。


          • 業(yè)務(wù)拆分



          隨著業(yè)務(wù)進一步擴展,應(yīng)用程序變得非常臃腫,這時我們需要將應(yīng)用程序進行業(yè)務(wù)拆分,如百度分為新聞、網(wǎng)頁、圖片等業(yè)務(wù)。每個業(yè)務(wù)應(yīng)用負責(zé)相對獨立的業(yè)務(wù)運作。業(yè)務(wù)之間通過消息進行通信或者同享數(shù)據(jù)庫來實現(xiàn)。


          • 分布式服務(wù)



          這時我們發(fā)現(xiàn)各個業(yè)務(wù)應(yīng)用都會使用到一些基本的業(yè)務(wù)服務(wù),例如用戶服務(wù)、訂單服務(wù)、支付服務(wù)、安全服務(wù),這些服務(wù)是支撐各業(yè)務(wù)應(yīng)用的基本要素。我們將這些服務(wù)抽取出來利用分部式服務(wù)框架搭建分布式服務(wù)。


          文章來源:https://juejin.im/post/5aeea414f265da0ba266e242




          到此文章就結(jié)束了。如果今天的文章對你在進階架構(gòu)師的路上有新的啟發(fā)和進步,歡迎轉(zhuǎn)發(fā)給更多人。歡迎加入架構(gòu)師社區(qū)技術(shù)交流群,眾多大咖帶你進階架構(gòu)師,在后臺回復(fù)“加群”即可入群。





          這些年小編給你分享過的干貨

          1.SpringBoot物流管理項目,拿去學(xué)習(xí)吧(附源碼)

          2.ERP系統(tǒng),自帶進銷存+財務(wù)+生產(chǎn)功能,拿來即用(附源碼)

          3.帶工作流的SpringBoot后臺管理項目快速開發(fā)(附源碼)
          4.最好的OA系統(tǒng),拿來即用,非常方便(附源碼)

          5.SpringBoot+Vue完整的外賣系統(tǒng),手機端和后臺管理,附源碼!

          6.SpringBoot+Vue 可視化拖拽編輯的大屏項目(附源碼)

          轉(zhuǎn)發(fā)在看就是最大的支持??

          瀏覽 34
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  99老色批| 黄色考逼视频免费观看网站www | AV高清无码 | 国产欧美一区二区三区四区 | 国内操比视频 |