隨著互聯(lián)網(wǎng)的發(fā)展,許多大中型的網(wǎng)站都保存了大量的圖片資源,用戶在訪問這些圖片資源異常豐富的網(wǎng)站(如淘寶、京東等電子商務(wù)網(wǎng)站)時,網(wǎng)頁中的圖片信息占據(jù)了頁面數(shù)據(jù)流量的很大部分。
隨著互聯(lián)網(wǎng)的發(fā)展,許多大中型的網(wǎng)站都保存了大量的圖片資源,用戶在訪問這些圖片資源異常豐富的網(wǎng)站(如淘寶、京東等電子商務(wù)網(wǎng)站)時,網(wǎng)頁中的圖片信息占據(jù)了頁面數(shù)據(jù)流量的很大部分,那么問題也來了:
(1)由于受客戶端瀏覽器限制,無法從一臺服務(wù)器上同時下載頁面中所有圖片信息;
PS:當一個網(wǎng)頁被瀏覽時,Web服務(wù)器與瀏覽器建立連接,每個連接表示一個并發(fā)。當頁面包含多個圖片時,Web服務(wù)器與瀏覽器會產(chǎn)生多個連接,同時發(fā)送文字和圖片以提高瀏覽速度。因此,頁面中圖片越多Web服務(wù)器受到的壓力也就越大。同時由于受到瀏覽器本身的并發(fā)連接數(shù)限制(2個~6個并發(fā)),意味著頁面上有多于并發(fā)連接數(shù)限制的圖片時,也不能并行地把所有圖片同時下載和顯示。
(2)由于圖片保存在物理服務(wù)器上,訪問圖片需要頻繁進行I/O操作:因此當并發(fā)用戶數(shù)越來越多時,I/O操作就會成為整個系統(tǒng)的性能瓶頸;
(3)由于受操作系統(tǒng)的限制,一個目錄中能存放的圖片文件數(shù)量也是有限的:隨著圖片資源不斷增加,如何有效管理和維護圖片也是一個難題;
對于少數(shù)大型網(wǎng)站系統(tǒng),由于自身具有雄厚的資金和人力資源,可采用NFS、CDN、Lighttpd、反向代理、負載均衡等技術(shù)提高用戶訪問速度;但是,這些技術(shù)需要龐大的資金來支持。
對于多數(shù)中小型網(wǎng)站系統(tǒng),有木有一種方案適用于中等規(guī)模商務(wù)網(wǎng)站的海量圖片數(shù)據(jù)分布式動態(tài)存儲及負載均衡的解決方案?該方案可否只需增加很少的硬件成本,即可提升網(wǎng)站的訪問速度,并且可以根據(jù)需要動態(tài)調(diào)整圖片服務(wù)器的數(shù)量及圖片的存儲目錄,確保系統(tǒng)具有可擴展性和伸縮性。
SUMMARY:需求永遠是那么美好,使用最少的money干盡量多的事情!正在我們決定放棄開發(fā)崗位去藍翔學(xué)挖掘機技術(shù)的時候,我們突然發(fā)現(xiàn)有那么多的技術(shù)先驅(qū)已經(jīng)給我們指明了道路。
架構(gòu)設(shè)計:構(gòu)建圖片服務(wù)器集群
對于小型網(wǎng)站,由于數(shù)據(jù)規(guī)模小,可以把網(wǎng)站所有頁面和圖片統(tǒng)一存放在一個主目錄下,這樣的網(wǎng)站對系統(tǒng)架構(gòu)、性能要求都很簡單。但大中型網(wǎng)站都保存有海量級的圖片文件,所采用的技術(shù)更是涉及廣泛,從硬件到軟件、編程語言、數(shù)據(jù)庫、Web服務(wù)器、防火墻等各個領(lǐng)域都有較高要求。因此,有必要設(shè)立單獨的圖片服務(wù)器來專門存放圖片,把圖片數(shù)據(jù)的流量從Web服務(wù)器上分離開,這樣的架構(gòu)可以有效緩解Web服務(wù)器的I/O性能瓶頸,提升用戶的訪問速度。
1、系統(tǒng)設(shè)計目標
基于以上的考慮,我們希望的設(shè)計目標是:
(1)圖片能進行分布式存儲;
(2)圖片服務(wù)器能實現(xiàn)負載均衡;
(3)能根據(jù)用戶訪問量及網(wǎng)站圖片數(shù)據(jù)量的增加能動態(tài)添加圖片服務(wù)器節(jié)點;
(4)圖片服務(wù)器節(jié)點的動態(tài)調(diào)整對網(wǎng)站用戶而言是透明的,并且不會中斷系統(tǒng)的正常運行;
其中,(1)和(2)是針對系統(tǒng)的高可用和伸縮性,而(3)和(4)則是針對系統(tǒng)的高可用和可擴展而言的。
2、系統(tǒng)架構(gòu)設(shè)計
一個大型網(wǎng)站的圖片服務(wù)器架構(gòu)設(shè)計與思路
系統(tǒng)整體架構(gòu)如上圖所示:包括客戶端、Web服務(wù)器、數(shù)據(jù)庫服務(wù)器、圖片服務(wù)器集群4個部分。
(1)Web服務(wù)器部署網(wǎng)站的Web頁面,用于響應(yīng)客戶端用戶的請求。當用戶瀏覽網(wǎng)頁時,Web服務(wù)器響應(yīng)請求并訪問數(shù)據(jù)庫服務(wù)器,獲得網(wǎng)頁中所有圖片的URL路徑,然后生成頁面并返回給客戶端;
(2)客戶端接收該頁面并根據(jù)頁面中的圖片URL路徑自動從不同的圖片服務(wù)器下載并顯示相應(yīng)圖片。
(3)數(shù)據(jù)庫服務(wù)器用于記錄所有圖片的編號以及圖片的存放位置等信息,同時需要記錄所有圖片服務(wù)器的配置及當前狀態(tài)信息。
(4)圖片服務(wù)器集群用于存放網(wǎng)站的所有圖片信息,該集群的服務(wù)器數(shù)量可以根據(jù)需要動態(tài)增加或刪減。
河南億恩科技股份有限公司(1tcdy.com)始創(chuàng)于2000年,專注服務(wù)器托管租用,是國家工信部認定的綜合電信服務(wù)運營商。億恩為近五十萬的用戶提供服務(wù)器托管、服務(wù)器租用、機柜租用、云服務(wù)器、網(wǎng)站建設(shè)、網(wǎng)站托管等網(wǎng)絡(luò)基礎(chǔ)服務(wù),另有網(wǎng)總管、名片俠網(wǎng)絡(luò)推廣服務(wù),使得客戶不斷的獲得更大的收益。
服務(wù)器/云主機 24小時售后服務(wù)電話:
0371-60135900
虛擬主機/智能建站 24小時售后服務(wù)電話:
0371-55621053
網(wǎng)絡(luò)版權(quán)侵權(quán)舉報電話:
0371-60135995
服務(wù)熱線:
0371-60135900