2022-05-28 分類: 網站建設
我們知道,無論對于Apache還是IIS,圖片始終是最消耗系統資源的,如果將圖片服務和應用服務放在同一個服務器的話,應用服務器很容易會因為圖片的高I/O負載而崩潰,因此對于有些大型網站項目,我們有必要將圖片服務器和應用服務器分離。部署獨立的圖片服務器(甚至是服務器集群)是大型網站圖片存儲解決方案中最基礎的,因為有了獨立的圖片服務器后,我們才能對圖片服務器做更有針對性的性能優化,比如從硬件角度說,圖片服務器可以配置高端的硬盤,7200轉的換成15000轉的,而CPU卻只要一般就可以了;從軟件角度說,可以為圖片服務器配置特殊的文件系統來滿足對圖片的I/O請求,如淘寶的TFS,就很好地解決了大規模小圖片文件帶來的I/O噩夢,同時,我們也可以采用nginx、squid來代理圖片請求等等。
當然任何事物都具有兩面性,圖片服務器分離固然提升了圖片訪問的效率,大大緩解了服務器因圖片造成的I/O瓶頸,但是分離以后圖片的上傳和同步就成了一個大問題了。下面就我個人的想法談談幾種解決方案。
如果你不想在每臺圖片服務器同步所有圖片,那NFS共享是最簡單也最實用的方式。NFS是個分布式的客戶機/服務器文件系統,NFS的實質在于用戶間計算機的共享,用戶可以聯結到共享計算機并象訪問本地硬盤一樣訪問共享計算機上的文件。
具體實現思路是:web服務器通過nfs掛載多臺圖片服務器export出來的目錄,用戶先將圖片上傳到web服務器,然后將上傳的圖片通過程序拷貝到這個mount目錄中去,這樣那幾臺圖片服務器就也能訪問到剛上傳的圖片了(注意,只是共享了,并沒有真正拷貝到圖片服務器)。再給那幾臺圖片服務器綁定獨立域名,于是瀏覽器端就可以用單獨的域名來訪問圖片了。這種方式基本不會有因同步造成的延時,但需要依賴nfs,nfs掛掉會影響web服務器。為了更直觀的表達,我還是上一幅圖吧,畫得比較粗糙,大家將就著看看。
和上面nfs不一樣的是,用戶上傳完圖片后是利用ftp同步到各個圖片服務器的,php、java、asp.net基本上都能操作ftp。這樣的話每個圖片服務器就都保存一份圖片的副本,也起到了備份的作用。但是缺點是將圖片ftp到服務器比較耗時,如果異步去同步的話又會有延時,不過一般的小圖片文件也還好了。
網站標題:部署獨立圖片服務器的一些方式
瀏覽地址:http://m.newbst.com/news38/160338.html
成都網站建設公司_創新互聯,為您提供網站設計、用戶體驗、App開發、全網營銷推廣、網站導航、App設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯
猜你還喜歡下面的內容