1. 程式人生 > >為什麼要搭建獨立的圖片伺服器

為什麼要搭建獨立的圖片伺服器

導讀:最近,很少寫部落格了哈,呃,其實,我是個懶人。說說我寫這個圖片伺服器的前因後果吧,我本來是不想寫的,因為自己的水平在那兒了,寫也寫不明白,何必獻醜呢???然後,本寶寶被Jimmy批評了,說我就不能多學點,讓我搭個圖片伺服器,就知道去找運維的。好吧,剛好前兩天有人問我為什麼現在又要在專案裡用Fastdfs,本寶寶似乎除了獻醜,就只剩下獻醜了!

這篇部落格,先根據個人的理解和在專案中的使用情況,來回答上回問我為什麼現在專案裡用fastdfs的問題。

其實,是這樣的。在公司的專案中,我們最開始,並沒有什麼獨立的圖片伺服器,就簡單粗暴的在專案中建立了個uploadImages的資料夾,然後統一上傳到這個目錄下,讀取的時候,也是從這兒讀。後來呢,我們開始在專案中整出了個獨立的檔案伺服器FTP(看我以前寫的部落格就知道啦,那時候真用的是Nginx+ FTP),但是,現在呢,咱們用FastDFS了。到這兒的時候,有人就想不明白了,就問我,這是為啥呀???(Ps:本寶寶,很想抽他的,為啥總問我一些我其實也並不知道多少的問題呢?我本意在懶到天下無敵,卻總有人督促我勤快勤快再勤快的思考,奈何呀)好了,接下來,就說說具體的應用情況吧!

一、無獨立的圖片伺服器

我回想了一下,當時有上傳下載圖片的系統,是一個機關用的人事系統。說實在的,整個系統,就機關部門的大概10來個人用(別看就這10來個人,當時還給整出了併發的問題,加班調bug解決問題,回想起來都是淚,嘿嘿,姑娘我只加班了一個通宵,相對專案組的其他人來說,不算慘的)那時候,哪兒來的什麼圖片伺服器,根本就沒想著那麼多。除了登陸系統的使用人員要上傳頭像,別的使用者資料都不強制要求上傳圖片。那些列印的檔案,都是拿照片往上面貼的。 所以,那個專案,就直接在WEB-INF下面,建立了一個靜態資源訪問的uploadImages資料夾,上傳到那兒了。(我後來看了一下,整個上傳的圖片,還沒有當時引入的EasyUI自帶的圖片多呢)

二、FTP

那天他是這麼問我的,他說啊:你不覺得直接用springMVC那個框架,上傳圖片特別簡單嗎,為什麼還要弄個圖片伺服器,還得搭伺服器,還得弄一堆,麻煩!   好吧,剛被批評,然後搭完FastDFS伺服器,做完圖片上傳的我,對此,竟無言以對。     真想吼他:當我閒的有病,行不行啊,大哥???

話說回來,當時第一次用到這個FTP檔案伺服器,應該是一個電商的專案。那時候,要用到圖片的地方,就是使用者頭像,還有商品的圖片。最開始的時候,也沒有弄那個FTP,還是傳到專案檔案夾了,可是,在做叢集,做負載均衡的時候,出問題了。圖片傳上去了,結果訪問不到。具體怎麼個情況呢,看本寶寶畫個示意圖(嘿嘿,每次畫圖,都得自我吐槽半分鐘)


然後,就搭了個獨立的檔案系統FTP。

三、FastDFS

用到這個的時候,應該是那個雲平臺。當時用Nginx搭建叢集,實現負載均衡來著。然後最開始也是用的FTP,後來才改成的FastDFS,其實,這個東西吧,說是業務成熟的需要,其實,也可以從名字上來說嘛。FastDFS是一個分散式檔案服務系統,而FTP是單機獨立的。這個,我也是隻會用,說不明白了,詳情還是看官方文件吧。不過從選取需求上來說,理解理解分散式,也就可以明白為什麼要用它了吧(個人直覺,本來想從官網截幾個圖貼上來的,算啦)

四、總結

其實吧,這個東西,真沒必要說哪個哪個就好了,根據業務需求,合適就好。等到業務發展了,再改吧。我是那種滿足當下,有需求了再改的人。嗯,下篇部落格,還是繼續獻醜寫寫搭建FastDfs的過程吧,畢竟還是被Jimmy批評指教了的,唉!  好吧,以後我有空都自己搭著,啥事兒都指著運維部門的人幹,好像確實耦合度有點高!