這樣,我們?nèi)绻o圖片服務(wù)器配置獨(dú)立的域名,那么在一個(gè)頁(yè)面中加載圖片時(shí),就可以突破瀏覽器連接數(shù)的限制,理論上,增加一個(gè)獨(dú)立域名,并發(fā)連接數(shù)加倍。

2、由于cookie的原因,對(duì)緩存不利

比如有一張圖片http://upload.chinaz.com//,那么當(dāng)我們向它發(fā)起請(qǐng)求的時(shí)候,會(huì)帶上www.test.com域名下的cookie,由于大部分web cache都只緩存不帶cookie的請(qǐng)求,這樣就導(dǎo)致每次的圖片請(qǐng)求都不能命中cache,而仍舊要去原始服務(wù)器獲取圖片,導(dǎo)致圖片緩存意義不大。所以,還是給單獨(dú)搞一個(gè)圖片獨(dú)立域名吧,當(dāng)然,不只是圖片,css和js文件也可以參照這個(gè)思路來(lái)搞。

3、方便CDN同步

這個(gè)我不太清楚是怎么回事,我個(gè)人猜測(cè)和第二點(diǎn)cookie有點(diǎn)關(guān)系,還望資深人士留言分享,謝謝。

三、圖片服務(wù)器分離后,如何進(jìn)行圖片上傳和圖片同步

當(dāng)然任何事物都具有兩面性,圖片服務(wù)器分離固然提升了圖片訪問(wèn)的效率,大大緩解了服務(wù)器因圖片造成的I/O瓶頸,但是分離以后圖片的上傳和同步就成了一個(gè)大問(wèn)題了。下面就我個(gè)人的想法談?wù)剮追N解決方案。

1、NFS共享方式

如果你不想在每臺(tái)圖片服務(wù)器同步所有圖片,那NFS共享是最簡(jiǎn)單也最實(shí)用的方式。NFS是個(gè)分布式的客戶機(jī)/服務(wù)器文件系統(tǒng),NFS的實(shí)質(zhì)在于用戶間計(jì)算機(jī)的共享,用戶可以聯(lián)結(jié)到共享計(jì)算機(jī)并象訪問(wèn)本地硬盤(pán)一樣訪問(wèn)共享計(jì)算機(jī)上的文件。

具體實(shí)現(xiàn)思路是:web服務(wù)器通過(guò)nfs掛載多臺(tái)圖片服務(wù)器export出來(lái)的目錄,用戶先將圖片上傳到web服務(wù)器,然后將上傳的圖片通過(guò)程序拷貝到這個(gè)mount目錄中去,這樣那幾臺(tái)圖片服務(wù)器就也能訪問(wèn)到剛上傳的圖片了(注意,只是共享了,并沒(méi)有真正拷貝到圖片服務(wù)器)。再給那幾臺(tái)圖片服務(wù)器綁定獨(dú)立域名,于是瀏覽器端就可以用單獨(dú)的域名來(lái)訪問(wèn)圖片了。這種方式基本不會(huì)有因同步造成的延時(shí),但需要依賴nfs,nfs掛掉會(huì)影響web服務(wù)器。為了更直觀的表達(dá),我還是上一幅圖吧,畫(huà)得比較粗糙,大家將就著看看。

至于如何配置nfs,大家google一下,或者看一下這篇文章,是在Linux下配置NFS的。

2、利用FTP同步

和上面nfs不一樣的是,用戶上傳完圖片后是利用ftp同步到各個(gè)圖片服務(wù)器的,php、java、asp.net基本上都能操作ftp。這樣的話每個(gè)圖片服務(wù)器就都保存一份圖片的副本,也起到了備份的作用。但是缺點(diǎn)是將圖片ftp到服務(wù)器比較耗時(shí),如果異步去同步的話又會(huì)有延時(shí),不過(guò)一般的小圖片文件也還好了。

當(dāng)然除了上面兩種方法,還有諸如安裝同步軟件、webservice等方法,但我個(gè)人覺(jué)得上面2種比較靠譜一點(diǎn),所以其他的就暫時(shí)不介紹了,如果各位朋友有更好地建議,請(qǐng)留言分享。

好了,對(duì)于獨(dú)立圖片服務(wù)器的介紹就到這里了,歡迎大家補(bǔ)充,咱們下回見(jiàn)。

分享到

zhouxiaoli

相關(guān)推薦