日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
不為技術(shù)而技術(shù):大型網(wǎng)站架構(gòu)演化解析

短短幾十年國(guó)內(nèi)互聯(lián)網(wǎng)發(fā)生了翻天覆地的變化,特別是國(guó)家支持互聯(lián)網(wǎng)發(fā)展,提出了“互聯(lián)網(wǎng)+”行動(dòng)計(jì)劃,國(guó)內(nèi)各行各業(yè)的互聯(lián)網(wǎng)更是日新月異。作為一個(gè)九零后小白沒有親身經(jīng)歷互聯(lián)網(wǎng)的演變歷程,如今看的像淘寶、京東、騰訊這樣的大型網(wǎng)站充滿了無(wú)數(shù)的好奇心,這些網(wǎng)站是怎么運(yùn)作的,如何處理大量用戶的請(qǐng)求,如何解決海量的數(shù)據(jù)庫(kù)處理···于是才有對(duì)于大型網(wǎng)站架構(gòu)核心原理以及實(shí)例分析一系列的筆記記錄。所有筆記記錄參考《大型網(wǎng)站技術(shù)架構(gòu)核心原理以及案例分析》,該系列文章沒有太多的代碼展示,著重是對(duì)理論知識(shí)的描述。

互聯(lián)網(wǎng)無(wú)處不在,人們的生活受互聯(lián)網(wǎng)的席卷發(fā)生了巨大的變化,從信息檢索到即時(shí)通信,從電子購(gòu)物到文化娛樂,互聯(lián)網(wǎng)已近滲透生活的每個(gè)角落,在互聯(lián)網(wǎng)如此跨越式發(fā)展進(jìn)程中,不堪負(fù)重的網(wǎng)站架構(gòu)也帶來(lái)了負(fù)面的一面,網(wǎng)站頻繁宕機(jī)、請(qǐng)求操作延時(shí)、用戶信息泄漏等等現(xiàn)象演繹的淋漓盡致。

針對(duì)上述種種現(xiàn)象,如何打造一個(gè)高可用、高性能、易擴(kuò)展、可伸縮以及安全的網(wǎng)站?如何讓網(wǎng)站隨業(yè)務(wù)需求所需而靈活變通?這些將是打造一個(gè)大型網(wǎng)站急需要考慮的問題根本所在,通過(guò)對(duì)《大型網(wǎng)站技術(shù)架構(gòu)核心原理以及案例分析》這本書的學(xué)習(xí)將一層層揭開其中的面紗。

俗話說(shuō)的好,“汝欲得之,必先知之”,換而言之也是一個(gè)道理,想要解決那些種種現(xiàn)象,你得先清楚大型網(wǎng)站的架構(gòu)演化。

大型網(wǎng)站軟件系統(tǒng)的特點(diǎn)

相比之傳統(tǒng)的應(yīng)用系統(tǒng),大型網(wǎng)站系統(tǒng)有以下特點(diǎn):

高并發(fā),大流量:面臨高并發(fā)用戶,大流量訪問。像google、騰訊同時(shí)訪問量可能出現(xiàn)億單位次數(shù)。

高可用:系統(tǒng)支持每天24小時(shí)運(yùn)作。

海量數(shù)據(jù):需要存儲(chǔ)海量數(shù)據(jù)并管理,需要大量的服務(wù)器來(lái)支持。

用戶分布廣泛,網(wǎng)絡(luò)情況復(fù)雜:許多網(wǎng)站都是全球性服務(wù)的,用戶分布的范圍很廣。例如:淘寶網(wǎng)

安全性惡劣:互聯(lián)網(wǎng)追求開放性,因而易受到外界攻擊,大型知名網(wǎng)站受到攻擊更是家常便飯。

漸進(jìn)式發(fā)展:幾乎所有的大型網(wǎng)站都是漸進(jìn)式發(fā)展,慢慢壯大的,這也和互聯(lián)網(wǎng)架構(gòu)的發(fā)展演化對(duì)應(yīng)。

大型網(wǎng)站架構(gòu)演化發(fā)展歷程

前面已經(jīng)描述了大型網(wǎng)站系統(tǒng)的特點(diǎn),而對(duì)一個(gè)大型網(wǎng)站系統(tǒng),其架構(gòu)也是重要的一個(gè)環(huán)節(jié)。

大型網(wǎng)站技術(shù)主要的挑戰(zhàn)來(lái)自于龐大的用戶、高并發(fā)以及海量的數(shù)據(jù)這三個(gè)方面。大型網(wǎng)站的形成就像一顆大樹的成長(zhǎng),歷盡長(zhǎng)時(shí)間的磨練,最后枝繁葉茂,服務(wù)他人。

初始網(wǎng)站架構(gòu)結(jié)構(gòu)

起初的網(wǎng)站鑒于用戶量、訪問量較少,只需要一臺(tái)服務(wù)器足以,應(yīng)用程序、數(shù)據(jù)庫(kù)、文件等其所有資源放在一太服務(wù)器上就已經(jīng)足夠滿足此時(shí)的需求,這時(shí)候網(wǎng)站的架構(gòu)就幾個(gè)簡(jiǎn)單組成部分如下圖

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

隨著網(wǎng)站業(yè)務(wù)需求的發(fā)展,越來(lái)越多的用戶進(jìn)行訪問,此時(shí)一臺(tái)服務(wù)器漸漸不能滿足需求,數(shù)據(jù)的存儲(chǔ)空間出現(xiàn)屏障。于是應(yīng)用程序、數(shù)據(jù)庫(kù)、文件三者面臨分離,各自為首分配一臺(tái)服務(wù)器,這三臺(tái)服務(wù)器對(duì)硬件的要求各取所需,應(yīng)用服務(wù)器處理大量的業(yè)務(wù)邏輯,需求更快更大的CPU;數(shù)據(jù)庫(kù)服務(wù)器對(duì)數(shù)據(jù)庫(kù)的處理需要快速搜索以及緩存,需求對(duì)內(nèi)存更大,對(duì)硬盤讀寫能力更迅速;文件服務(wù)器需求放入大量的用戶資源,對(duì)硬盤空間要求更大。此時(shí)的網(wǎng)站的架構(gòu)組成部分展示如下圖

使用緩存

網(wǎng)站的架構(gòu)進(jìn)一步改進(jìn)后可以滿足了業(yè)務(wù)的發(fā)展,但是隨著網(wǎng)站知名度提升,用戶量的進(jìn)一步增加,訪問數(shù)據(jù)相比之前愈加頻繁,數(shù)據(jù)庫(kù)壓力急劇上升導(dǎo)致網(wǎng)站訪問出現(xiàn)延遲,用戶的性能體驗(yàn)出現(xiàn)下滑,面臨此時(shí)網(wǎng)站出現(xiàn)的性能問題,網(wǎng)站架構(gòu)設(shè)計(jì)需要再一次的進(jìn)化,鑒于網(wǎng)站訪問也遵循二八定律,例如:新浪微博,只有經(jīng)常登錄的用戶才會(huì)發(fā)微博,看微博,而這些用戶對(duì)于總用戶數(shù)只是冰山一角。既然出現(xiàn)這一現(xiàn)象,那么緩存這部分的數(shù)據(jù)是不是可以解決這現(xiàn)象呢?網(wǎng)站緩存可以分為本地緩存和分布式緩存這兩種,二者的區(qū)別是本地緩存速度快但是受服務(wù)器內(nèi)存限制緩存的數(shù)量有限,而分布式緩存采用的是集群處理,理論上是可以避免內(nèi)存瓶頸。此時(shí)網(wǎng)站的架構(gòu)組成部分如下圖

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

使用緩存后,數(shù)據(jù)庫(kù)的壓力得到緩解,但是在面臨網(wǎng)站高峰期時(shí),應(yīng)用服務(wù)器處理單一的請(qǐng)求連接出現(xiàn)瓶頸,萬(wàn)事都有解決的辦法,只是看你愿不愿去想,愿不愿去嘗試做,采用集群,集群多臺(tái)應(yīng)用程序服務(wù)器分布原有的應(yīng)用程序服務(wù)器,從而實(shí)現(xiàn)了系統(tǒng)的可伸縮性,網(wǎng)站架構(gòu)此時(shí)演化成這樣如下圖

#p#

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

使用緩存,雖然使用戶請(qǐng)求數(shù)據(jù)操作大部分不直接通過(guò)數(shù)據(jù)庫(kù),但是仍有一部分?jǐn)?shù)據(jù)(緩存過(guò)期、緩存數(shù)據(jù)沒有命中)讀寫操作需要訪問數(shù)據(jù)庫(kù),面對(duì)這部分?jǐn)?shù)據(jù),可能出現(xiàn)數(shù)據(jù)訪問負(fù)載壓力,把數(shù)據(jù)庫(kù)讀寫操作分離性能效果理當(dāng)會(huì)如何呢?效果無(wú)言而喻。

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

網(wǎng)絡(luò)覆蓋范圍地區(qū)廣泛,造就了網(wǎng)絡(luò)環(huán)境復(fù)雜,從而用戶訪問網(wǎng)站性能體現(xiàn)也各有差異,鑒于這問題,網(wǎng)站架構(gòu)使用CDN和反向代理以技術(shù)加速網(wǎng)站響應(yīng),二者原理都是緩存,CDN可以從距離用戶最近網(wǎng)絡(luò)提供點(diǎn)獲取數(shù)據(jù);反向代理則是首先從反向代理服務(wù)器中獲取數(shù)據(jù)。

分布式文件、數(shù)據(jù)庫(kù)系統(tǒng)

任何單一的服務(wù)器最后都是滿足不了業(yè)務(wù)需求發(fā)展。雖然前面數(shù)據(jù)庫(kù)讀寫分離能夠改善數(shù)據(jù)庫(kù)負(fù)載壓力但是隨著業(yè)務(wù)不斷壯大最終還是難以維持此時(shí)使用分布式數(shù)據(jù)庫(kù),該技術(shù)不到不得以建議不使用,而對(duì)于這個(gè)技術(shù)解決方案更常用的使用業(yè)務(wù)拆分,將不同的業(yè)務(wù)數(shù)據(jù)庫(kù)部署在不同的物理服務(wù)器上。

NoSQL和搜索引擎

該技術(shù)對(duì)于可伸縮的分布式提供更好的支持,減輕應(yīng)用程序管理諸多數(shù)據(jù)源的麻煩。

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

大型網(wǎng)站日益發(fā)展壯大,業(yè)務(wù)需求越來(lái)越復(fù)雜,使用分而治之手段分離整個(gè)網(wǎng)站的業(yè)務(wù)變成不同的產(chǎn)品線。具體到技術(shù)上,將一個(gè)網(wǎng)站拆分成許多不同的應(yīng)用,每個(gè)應(yīng)用獨(dú)立部署,而應(yīng)用與應(yīng)用之間通過(guò)超鏈接關(guān)聯(lián),不過(guò)最多的還是通過(guò)訪問同一個(gè)數(shù)據(jù)存儲(chǔ)來(lái)構(gòu)成一個(gè)關(guān)聯(lián)的完整系統(tǒng)。

分布式服務(wù)

一個(gè)應(yīng)用系統(tǒng)需要執(zhí)行相同業(yè)務(wù)操作,那么可以將共同的業(yè)務(wù)提取出來(lái),獨(dú)立部署,由這些可復(fù)用的業(yè)務(wù)連接數(shù)據(jù)庫(kù),提供共用業(yè)務(wù)服務(wù),而應(yīng)用系統(tǒng)只需要管理用戶界面,通過(guò)分布式調(diào)用共用業(yè)務(wù)服務(wù)完成具體業(yè)務(wù)操作。

大型網(wǎng)站結(jié)構(gòu)演化到這里,基本上大多數(shù)的技術(shù)問題都得以解決了,但是事物發(fā)展到一定的階段就會(huì)擺脫初衷向更強(qiáng)的方向發(fā)展。目前許多的大型網(wǎng)站都建立自己的云平臺(tái),將計(jì)算作為一種資源進(jìn)行出售。

大型網(wǎng)站架構(gòu)演化歷經(jīng)了長(zhǎng)時(shí)間磨練才發(fā)展如此,在過(guò)程中也是出現(xiàn)一些易步入的誤區(qū)

一味的追隨大公司解決方案,大公司的經(jīng)驗(yàn)和成功固然重要,但是不能盲目的追從,要與實(shí)際的具體業(yè)務(wù)需求有所改動(dòng);

 為了技術(shù)而技術(shù),網(wǎng)站技術(shù)是為業(yè)務(wù)而存在的,但是一味的追求新技術(shù),可能會(huì)導(dǎo)致結(jié)構(gòu)技術(shù)之路越走越難;

企圖用技術(shù)解決所有問題,技術(shù)雖是解決業(yè)務(wù)問題的,但也不是萬(wàn)能鑰匙,有些業(yè)務(wù)的問題也是可以通過(guò)業(yè)務(wù)手段解決。


網(wǎng)頁(yè)名稱:不為技術(shù)而技術(shù):大型網(wǎng)站架構(gòu)演化解析
當(dāng)前地址:http://m.5511xx.com/article/cdodoie.html