2016-12-07 分類: 動態(tài)網(wǎng)站
動態(tài)運用,是相對于網(wǎng)站靜態(tài)內(nèi)容而言, 是指以c/c++、php、Java、perl、.net等 服務器端言語開發(fā)的網(wǎng)絡運用軟件,比方論壇、網(wǎng)絡相冊、交友、BLOG等常見運用。動態(tài)運用體系通 常與數(shù)據(jù)庫體系、緩存體系、分布式存儲體系等密不可分。
大型動態(tài)運用體系渠道主要是針對于大流 量、高并發(fā)網(wǎng)站樹立的底層體系架構。大型網(wǎng)站的運轉需求一個牢靠、安全、可擴展、易保護的運用體系渠道做為支撐,以保證網(wǎng)站運用的平穩(wěn)運轉。
大型動態(tài)運用體系又可分為幾個子體系:
1.Web前 端體系
2.負載均衡體系
3.數(shù)據(jù)庫集群體系
4.緩存體系
5.分布式存儲體系
6.分布式服務器辦理體系
7.代碼分發(fā)體系
8.Web前端體系
結構圖:
為了到達不同運用的服務器共享、防止單點故障、會集辦理、一致裝備等目的,不以運用區(qū)分服 務器,而是將一切服務器做一致運用,每臺服務器都能夠對多個運用供給服務,當某些運用拜訪量升高時,經(jīng)過添加服務器節(jié)點到達整個服務器集群的功能進步,同 時使他運用也會受益。
該Web前端體系根據(jù)Apache/Lighttpd/Eginx等 的虛擬主機渠道,供給PHP程序運轉環(huán)境。服務器對開發(fā)人員是通明的,不需求開發(fā)人員介入服務器辦理
負載均衡體系
負載均衡體系分為硬件和軟件兩種。硬件負載均衡功率高,可是價格貴,比方F5等。軟件負載均衡體系價格較低或者免費,功率較硬件負載均衡體系 低,不過對于流量一般或稍大些網(wǎng)站來講也足夠運用,比方lvs,nginx。大多數(shù)網(wǎng)站都是硬件、軟件負載均衡體系并用。
數(shù)據(jù)庫集群體系
結構圖:
由于Web前端選用了負載均衡集群結構進步了服務的有效性和擴展性,因而數(shù)據(jù)庫有必要也是高牢靠的才干保證整個服務體系的高牢靠性,怎么構建一個高牢靠的、能夠供給大規(guī)模并發(fā)處理的數(shù)據(jù)庫體系?
咱們能夠選用如上圖所示的方案:
1)運用 MySQL 數(shù)據(jù)庫,考慮到Web運用的數(shù)據(jù)庫讀多寫少的特色,咱們主要對讀數(shù)據(jù)庫做了優(yōu)化,供給專用的讀數(shù)據(jù)庫和寫數(shù)據(jù)庫,在運用程序中完成讀操作和寫操作別離拜訪不同的數(shù)據(jù)庫。
2)運用 MySQL Replication 機制完成快速將主庫(寫庫)的數(shù)據(jù)庫復制到從庫(讀庫)。一個主庫對應多個從庫,主庫數(shù)據(jù)實時同步到從庫。
3)寫數(shù)據(jù)庫有多臺,每臺都能夠供給多個運用共同運用,這樣能夠解決寫庫的功能瓶頸問題和單點故障問題。
4)讀數(shù)據(jù)庫有多臺,經(jīng)過負載均衡設備完成負載均衡,然后到達讀數(shù)據(jù)庫的高功能、高牢靠和高可擴展性。
5)數(shù)據(jù)庫服務器和運用服務器分離。
6)從數(shù)據(jù)庫運用BigIP做負載均衡。
緩存體系
緩存分為文件緩存、內(nèi)存緩存、數(shù)據(jù)庫緩存。在大型Web運用中運用最多且功率高的是內(nèi)存緩存。最常用的內(nèi)存緩存東西是Memcachd。運用正確的緩存體系能夠到達完成以下方針:
1、運用緩存體系能夠進步拜訪功率,進步服務器吞吐能力,改善用戶體會。
2、減輕對數(shù)據(jù)庫及存儲集服務器的拜訪壓力
3、Memcached服務器有多臺,防止單點故障,供給高牢靠性和可擴展性,進步功能。
分布式存儲體系
結構圖:
WEB體系渠道中的存儲需求有下面兩個特色:
1) 存儲量很大,經(jīng)常會到達單臺服務器無法供給的規(guī)模,比方相冊、視頻等運用。因而需求專業(yè)的大規(guī)模存儲體系。
2) 負載均衡cluster中的每個節(jié)點都有可能拜訪任何一個數(shù)據(jù)對象,每個節(jié)點對數(shù)據(jù)的處理也能被其他節(jié)點共享,因而這些節(jié)點要操作的數(shù)據(jù)從邏輯上看只能是一個全體,不是各自獨立的數(shù)據(jù)資源。
因而高功能的分布式存儲體系對于大型網(wǎng)站運用來說是非常重要的一環(huán)。(這個地方需求加入對某個分布式存儲體系的簡單介紹。)
分布式服務器辦理體系
結構圖:
跟著網(wǎng)站拜訪流量的不斷添加,大多的網(wǎng)絡服務都是以負載均衡集群的方法對外供給服務,隨之集群規(guī)模的擴展,原來根據(jù)單機的服務器辦理模式現(xiàn)已不能夠滿意咱們的需求,新的需求有必要能夠會集式的、分組的、批量的、自動化的對服務器進行辦理,能夠批量化的執(zhí)行計劃任務。
在分布式服務器辦理體系軟件中有一些比較優(yōu)異的軟件,其中比較抱負的一個是 Cfengine。它能夠對服務器進行分組,不同的分組能夠別離定制體系裝備文件、計劃任務等裝備。它是根據(jù)C/S 結構的,一切的服務器裝備和辦理腳本程序都保存在Cfengine Server上,而被辦理的服務器運轉著 Cfengine Client 程序,Cfengine Client經(jīng)過SSL加密的連接定期的向服務器端發(fā)送懇求以獲取最新的裝備文件和辦理命令、腳本程序、補丁裝置等任務。
有了Cfengine 這種會集式的服務器辦理東西,咱們就能夠高效的完成大規(guī)模的服務器集群辦理,被辦理服務器和 Cfengine Server 能夠分布在任何方位,只需網(wǎng)絡能夠連通就能完成快速自動化的辦理。
代碼發(fā)布體系
結構圖:
跟著網(wǎng)站拜訪流量的不斷添加,大多的網(wǎng)絡服務都是以負載均衡集群的方法對外供給服務,隨之集群規(guī)模的擴展,為了滿意集群環(huán)境下程序代碼的批量分發(fā)和更新,咱們還需求一個程序代碼發(fā)布體系。
這個發(fā)布體系能夠幫咱們完成下面的方針:
1) 出產(chǎn)環(huán)境的服務器以虛擬主機方法供給服務,不需求開發(fā)人員介入保護和直接操作,供給發(fā)布體系能夠完成不需求登陸服務器就能把程序分發(fā)到方針服務器。
2) 咱們要完成內(nèi)部開發(fā)、內(nèi)部測試、出產(chǎn)環(huán)境測試、出產(chǎn)環(huán)境發(fā)布的4個開發(fā)階段的辦理,發(fā)布體系能夠介入各個階段的代碼發(fā)布。
3) 咱們需求完成源代碼辦理和版別操控,SVN能夠完成該需求。
這里邊能夠運用常用的東西Rsync,經(jīng)過開發(fā)相應的腳本東西完成服務器集群間代碼同步分發(fā)
當前名稱:大型網(wǎng)站動態(tài)運用體系架構淺析
分享地址:http://m.rwnh.cn/news13/71313.html
網(wǎng)站建設、網(wǎng)絡推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡營銷seo公司;服務項目有做網(wǎng)站、動態(tài)網(wǎng)站等
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容