大型網(wǎng)站的架構(gòu)演進(jìn)
大型網(wǎng)站的技術(shù)問題主要來自于用戶多、同時訪問量大、數(shù)據(jù)量大。處理數(shù)以P計的數(shù)據(jù)和數(shù)以百萬計的用戶,問題就會變得非常困難。大型網(wǎng)站架構(gòu)的主要目的就是解決這些問題。在面對一個大型網(wǎng)站時,首先要討論的是大型網(wǎng)站的特點(diǎn):高并發(fā)性、大流量、高可用性、海量數(shù)據(jù)。我們今天就來了解一下大型網(wǎng)站架構(gòu)演化發(fā)展歷程。
1.初始階段:大型網(wǎng)站都是從小型網(wǎng)站架構(gòu)逐步演化而來。通常一臺服務(wù)器就綽綽有余。
2.采取應(yīng)用數(shù)據(jù)分離:隨著網(wǎng)站業(yè)務(wù)的發(fā)展,服務(wù)器逐漸不能滿足需求,這時就需要應(yīng)用和數(shù)據(jù)分離。應(yīng)用與數(shù)據(jù)分離后,整個網(wǎng)站使用三個服務(wù)器:應(yīng)用服務(wù)器、文件服務(wù)器和數(shù)據(jù)庫服務(wù)器。
3.使用緩存改善網(wǎng)站性能:80%的業(yè)務(wù)訪問集中在20%的數(shù)據(jù)上,將這一小部分?jǐn)?shù)據(jù)存入內(nèi)存就可以減少數(shù)據(jù)庫訪問的壓力。網(wǎng)站使用的緩存一般分為兩種:應(yīng)用服務(wù)器上的本地緩存和分布式緩存服務(wù)器上的遠(yuǎn)程緩存。
4.使用應(yīng)用服務(wù)器集群:使用集群是解決高并發(fā)、數(shù)據(jù)量大等問題的常用手段。由于單個應(yīng)用服務(wù)器處理能力有限,網(wǎng)站訪問高峰期會造成“擁堵”現(xiàn)象。因此,有必要使用負(fù)載均衡處理器。可以將訪問請求從瀏覽器分發(fā)到應(yīng)用服務(wù)器集群中的任何服務(wù)器。
5.數(shù)據(jù)庫讀寫分離:目前主流數(shù)據(jù)庫大多提供主從設(shè)備功能。通過在一個數(shù)據(jù)庫中建立主從關(guān)系,一個數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)更新可以同步到另一個服務(wù)器。利用這一特性,實(shí)現(xiàn)了數(shù)據(jù)庫加載與寫入分離,減輕了數(shù)據(jù)庫的負(fù)載壓力
6.使用反向代理和CDN加速網(wǎng)站響應(yīng):CDN和逆代理的基本原理是緩存,不同之處在于,當(dāng)用戶請求網(wǎng)站服務(wù)時,CDN可以部署到網(wǎng)絡(luò)提供商的機(jī)房,并從最近的網(wǎng)絡(luò)提供商機(jī)房獲取數(shù)據(jù)。當(dāng)用戶的請求到達(dá)中央計算機(jī)室時,首先訪問的服務(wù)器是反向代理服務(wù)器。如果反向代理服務(wù)器中緩存用戶請求的資源,它將直接返回給用戶。
7.使用分布式文件系統(tǒng)和分布式數(shù)據(jù)庫系統(tǒng):只有當(dāng)單個表的數(shù)據(jù)規(guī)模非常大時,才會使用分布式數(shù)據(jù)庫拆分網(wǎng)站數(shù)據(jù)庫。通常,更常用的數(shù)據(jù)庫分區(qū)方法是在不同的物理服務(wù)器上部署不同業(yè)務(wù)數(shù)據(jù)的業(yè)務(wù)部門。
8.使用NoSQL和搜索引擎:NoSQL和搜索引擎是一種互聯(lián)網(wǎng)技術(shù)手段,對可伸縮的分布式功能有更好的支持。應(yīng)用服務(wù)器可以通過一個統(tǒng)一的數(shù)據(jù)訪問模塊訪問所有類型的數(shù)據(jù),減輕管理多個數(shù)據(jù)源的繁瑣。
9.業(yè)務(wù)拆分:大型網(wǎng)站被分成許多不同的應(yīng)用,每個應(yīng)用都是獨(dú)立部署和維護(hù)的。可以通過超鏈接建立應(yīng)用之間的關(guān)系,通過消息隊列進(jìn)行數(shù)據(jù)分發(fā)。當(dāng)然,最常見的方法是訪問同一個數(shù)據(jù)存儲系統(tǒng)以形成一個相關(guān)的完整系統(tǒng)。
10.分布式服務(wù):每個應(yīng)用系統(tǒng)需要執(zhí)行的相同的業(yè)務(wù)操作,可以連接到數(shù)據(jù)庫,提供通用的業(yè)務(wù)服務(wù),而應(yīng)用系統(tǒng)只需要管理一個用戶界面,并通過分布式服務(wù)調(diào)用一個通用的業(yè)務(wù)服務(wù)來完成特定的任務(wù)。
當(dāng)一個大型網(wǎng)站演化到此,大多數(shù)技術(shù)問題,如跨數(shù)據(jù)中心的實(shí)時數(shù)據(jù)同步,以及特定的網(wǎng)站業(yè)務(wù)相關(guān)問題是現(xiàn)有的技術(shù)架構(gòu),都可以通過合并和改進(jìn)現(xiàn)有技術(shù)架構(gòu)來解決。
相關(guān)內(nèi)容推薦
- 用戶體驗(yàn)設(shè)計的5大目標(biāo)
- 青島網(wǎng)站建設(shè)之MySQL數(shù)據(jù)庫備份及導(dǎo)入
- 設(shè)計網(wǎng)站首頁要幾天
- 2018UI設(shè)計趨勢提前預(yù)告
- 專業(yè)制作一個企業(yè)網(wǎng)站需要多少錢?
- 使用A-Frame,開始打造第一個Web VR站點(diǎn)!
- 網(wǎng)站建設(shè)定制開發(fā)的建站流程和相關(guān)問題
- 著陸頁的類型、組成與設(shè)計
- SSL證書:給您的網(wǎng)站加把鎖!
- 青島網(wǎng)站建設(shè)中height auto兼容問題的解決辦法
最新文章
更多>>- 什么是SEO優(yōu)化?SEO優(yōu)化怎么做?
- 營銷型網(wǎng)站制作
- 網(wǎng)站優(yōu)化:寵物網(wǎng)站如何優(yōu)化?
- 網(wǎng)站建設(shè)及網(wǎng)站建設(shè)費(fèi)用-為您提供專業(yè)的網(wǎng)站建設(shè)服務(wù)
- 網(wǎng)站建設(shè)是什么?怎么做網(wǎng)站建設(shè)
- 網(wǎng)站建設(shè)為什么要分高端網(wǎng)站建設(shè)和普通網(wǎng)站建設(shè)
- 醫(yī)療健康科普問答平臺系統(tǒng)介紹
- 抖音小程序如何開發(fā)?
- 公司小程序建設(shè)和公司小程序開發(fā)都需要哪些過程?
- 網(wǎng)站策劃在網(wǎng)站建設(shè)中的重要性
0532-88983785 / 0532-68613670
我要定制網(wǎng)站