大型網(wǎng)站動(dòng)態(tài)運(yùn)用體系架構(gòu)淺析

2016-12-07    分類: 動(dòng)態(tài)網(wǎng)站

動(dòng)態(tài)運(yùn)用,是相對(duì)于網(wǎng)站靜態(tài)內(nèi)容而言, 是指以c/c++、php、Java、perl、.net等 服務(wù)器端言語(yǔ)開發(fā)的網(wǎng)絡(luò)運(yùn)用軟件,比方論壇、網(wǎng)絡(luò)相冊(cè)、交友、BLOG等常見運(yùn)用。動(dòng)態(tài)運(yùn)用體系通 常與數(shù)據(jù)庫(kù)體系、緩存體系、分布式存儲(chǔ)體系等密不可分。

大型動(dòng)態(tài)運(yùn)用體系渠道主要是針對(duì)于大流 量、高并發(fā)網(wǎng)站樹立的底層體系架構(gòu)。大型網(wǎng)站的運(yùn)轉(zhuǎn)需求一個(gè)牢靠、安全、可擴(kuò)展、易保護(hù)的運(yùn)用體系渠道做為支撐,以保證網(wǎng)站運(yùn)用的平穩(wěn)運(yùn)轉(zhuǎn)。

大型動(dòng)態(tài)運(yùn)用體系又可分為幾個(gè)子體系:

1.Web前 端體系

2.負(fù)載均衡體系

3.數(shù)據(jù)庫(kù)集群體系

4.緩存體系

5.分布式存儲(chǔ)體系

6.分布式服務(wù)器辦理體系

7.代碼分發(fā)體系

8.Web前端體系

結(jié)構(gòu)圖:

為了到達(dá)不同運(yùn)用的服務(wù)器共享、防止單點(diǎn)故障、會(huì)集辦理、一致裝備等目的,不以運(yùn)用區(qū)分服 務(wù)器,而是將一切服務(wù)器做一致運(yùn)用,每臺(tái)服務(wù)器都能夠?qū)Χ鄠€(gè)運(yùn)用供給服務(wù),當(dāng)某些運(yùn)用拜訪量升高時(shí),經(jīng)過添加服務(wù)器節(jié)點(diǎn)到達(dá)整個(gè)服務(wù)器集群的功能進(jìn)步,同 時(shí)使他運(yùn)用也會(huì)受益。

該Web前端體系根據(jù)Apache/Lighttpd/Eginx等 的虛擬主機(jī)渠道,供給PHP程序運(yùn)轉(zhuǎn)環(huán)境。服務(wù)器對(duì)開發(fā)人員是通明的,不需求開發(fā)人員介入服務(wù)器辦理

負(fù)載均衡體系

負(fù)載均衡體系分為硬件和軟件兩種。硬件負(fù)載均衡功率高,可是價(jià)格貴,比方F5等。軟件負(fù)載均衡體系價(jià)格較低或者免費(fèi),功率較硬件負(fù)載均衡體系 低,不過對(duì)于流量一般或稍大些網(wǎng)站來講也足夠運(yùn)用,比方lvs,nginx。大多數(shù)網(wǎng)站都是硬件、軟件負(fù)載均衡體系并用。

數(shù)據(jù)庫(kù)集群體系

結(jié)構(gòu)圖:

大型網(wǎng)站動(dòng)態(tài)運(yùn)用體系架構(gòu)淺析(圖三)

由于Web前端選用了負(fù)載均衡集群結(jié)構(gòu)進(jìn)步了服務(wù)的有效性和擴(kuò)展性,因而數(shù)據(jù)庫(kù)有必要也是高牢靠的才干保證整個(gè)服務(wù)體系的高牢靠性,怎么構(gòu)建一個(gè)高牢靠的、能夠供給大規(guī)模并發(fā)處理的數(shù)據(jù)庫(kù)體系?

咱們能夠選用如上圖所示的方案:

1)運(yùn)用 MySQL 數(shù)據(jù)庫(kù),考慮到Web運(yùn)用的數(shù)據(jù)庫(kù)讀多寫少的特色,咱們主要對(duì)讀數(shù)據(jù)庫(kù)做了優(yōu)化,供給專用的讀數(shù)據(jù)庫(kù)和寫數(shù)據(jù)庫(kù),在運(yùn)用程序中完成讀操作和寫操作別離拜訪不同的數(shù)據(jù)庫(kù)。

2)運(yùn)用 MySQL Replication 機(jī)制完成快速將主庫(kù)(寫庫(kù))的數(shù)據(jù)庫(kù)復(fù)制到從庫(kù)(讀庫(kù))。一個(gè)主庫(kù)對(duì)應(yīng)多個(gè)從庫(kù),主庫(kù)數(shù)據(jù)實(shí)時(shí)同步到從庫(kù)。

3)寫數(shù)據(jù)庫(kù)有多臺(tái),每臺(tái)都能夠供給多個(gè)運(yùn)用共同運(yùn)用,這樣能夠解決寫庫(kù)的功能瓶頸問題和單點(diǎn)故障問題。

4)讀數(shù)據(jù)庫(kù)有多臺(tái),經(jīng)過負(fù)載均衡設(shè)備完成負(fù)載均衡,然后到達(dá)讀數(shù)據(jù)庫(kù)的高功能、高牢靠和高可擴(kuò)展性。

5)數(shù)據(jù)庫(kù)服務(wù)器和運(yùn)用服務(wù)器分離。

6)從數(shù)據(jù)庫(kù)運(yùn)用BigIP做負(fù)載均衡。

緩存體系

緩存分為文件緩存、內(nèi)存緩存、數(shù)據(jù)庫(kù)緩存。在大型Web運(yùn)用中運(yùn)用最多且功率高的是內(nèi)存緩存。最常用的內(nèi)存緩存東西是Memcachd。運(yùn)用正確的緩存體系能夠到達(dá)完成以下方針:

1、運(yùn)用緩存體系能夠進(jìn)步拜訪功率,進(jìn)步服務(wù)器吞吐能力,改善用戶體會(huì)。

2、減輕對(duì)數(shù)據(jù)庫(kù)及存儲(chǔ)集服務(wù)器的拜訪壓力

3、Memcached服務(wù)器有多臺(tái),防止單點(diǎn)故障,供給高牢靠性和可擴(kuò)展性,進(jìn)步功能。

分布式存儲(chǔ)體系

結(jié)構(gòu)圖:

WEB體系渠道中的存儲(chǔ)需求有下面兩個(gè)特色:

1) 存儲(chǔ)量很大,經(jīng)常會(huì)到達(dá)單臺(tái)服務(wù)器無法供給的規(guī)模,比方相冊(cè)、視頻等運(yùn)用。因而需求專業(yè)的大規(guī)模存儲(chǔ)體系。

2) 負(fù)載均衡cluster中的每個(gè)節(jié)點(diǎn)都有可能拜訪任何一個(gè)數(shù)據(jù)對(duì)象,每個(gè)節(jié)點(diǎn)對(duì)數(shù)據(jù)的處理也能被其他節(jié)點(diǎn)共享,因而這些節(jié)點(diǎn)要操作的數(shù)據(jù)從邏輯上看只能是一個(gè)全體,不是各自獨(dú)立的數(shù)據(jù)資源。

因而高功能的分布式存儲(chǔ)體系對(duì)于大型網(wǎng)站運(yùn)用來說是非常重要的一環(huán)。(這個(gè)地方需求加入對(duì)某個(gè)分布式存儲(chǔ)體系的簡(jiǎn)單介紹。)

分布式服務(wù)器辦理體系

結(jié)構(gòu)圖:

跟著網(wǎng)站拜訪流量的不斷添加,大多的網(wǎng)絡(luò)服務(wù)都是以負(fù)載均衡集群的方法對(duì)外供給服務(wù),隨之集群規(guī)模的擴(kuò)展,原來根據(jù)單機(jī)的服務(wù)器辦理模式現(xiàn)已不能夠滿意咱們的需求,新的需求有必要能夠會(huì)集式的、分組的、批量的、自動(dòng)化的對(duì)服務(wù)器進(jìn)行辦理,能夠批量化的執(zhí)行計(jì)劃任務(wù)。

在分布式服務(wù)器辦理體系軟件中有一些比較優(yōu)異的軟件,其中比較抱負(fù)的一個(gè)是 Cfengine。它能夠?qū)Ψ?wù)器進(jìn)行分組,不同的分組能夠別離定制體系裝備文件、計(jì)劃任務(wù)等裝備。它是根據(jù)C/S 結(jié)構(gòu)的,一切的服務(wù)器裝備和辦理腳本程序都保存在Cfengine Server上,而被辦理的服務(wù)器運(yùn)轉(zhuǎn)著 Cfengine Client 程序,Cfengine Client經(jīng)過SSL加密的連接定期的向服務(wù)器端發(fā)送懇求以獲取最新的裝備文件和辦理命令、腳本程序、補(bǔ)丁裝置等任務(wù)。

有了Cfengine 這種會(huì)集式的服務(wù)器辦理東西,咱們就能夠高效的完成大規(guī)模的服務(wù)器集群辦理,被辦理服務(wù)器和 Cfengine Server 能夠分布在任何方位,只需網(wǎng)絡(luò)能夠連通就能完成快速自動(dòng)化的辦理。

代碼發(fā)布體系

結(jié)構(gòu)圖:

跟著網(wǎng)站拜訪流量的不斷添加,大多的網(wǎng)絡(luò)服務(wù)都是以負(fù)載均衡集群的方法對(duì)外供給服務(wù),隨之集群規(guī)模的擴(kuò)展,為了滿意集群環(huán)境下程序代碼的批量分發(fā)和更新,咱們還需求一個(gè)程序代碼發(fā)布體系。

這個(gè)發(fā)布體系能夠幫咱們完成下面的方針:

1) 出產(chǎn)環(huán)境的服務(wù)器以虛擬主機(jī)方法供給服務(wù),不需求開發(fā)人員介入保護(hù)和直接操作,供給發(fā)布體系能夠完成不需求登陸服務(wù)器就能把程序分發(fā)到方針服務(wù)器。

2) 咱們要完成內(nèi)部開發(fā)、內(nèi)部測(cè)試、出產(chǎn)環(huán)境測(cè)試、出產(chǎn)環(huán)境發(fā)布的4個(gè)開發(fā)階段的辦理,發(fā)布體系能夠介入各個(gè)階段的代碼發(fā)布。

3) 咱們需求完成源代碼辦理和版別操控,SVN能夠完成該需求。

這里邊能夠運(yùn)用常用的東西Rsync,經(jīng)過開發(fā)相應(yīng)的腳本東西完成服務(wù)器集群間代碼同步分發(fā)

當(dāng)前名稱:大型網(wǎng)站動(dòng)態(tài)運(yùn)用體系架構(gòu)淺析
分享地址:http://www.muchs.cn/news13/71313.html

網(wǎng)站建設(shè)、網(wǎng)絡(luò)推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡(luò)營(yíng)銷seo公司;服務(wù)項(xiàng)目有做網(wǎng)站、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化