Zimg—輕量級圖片服務器搭建利器


 

在一個互聯網應用中,圖片扮演着越來越重要的角色。有穩定的可擴展的圖片存儲服務器就顯得尤為的重要,雲廠商們提供了便利的圖片存儲服務,花錢就可以解決了。這里簡單介紹一個開源的一個分布式圖片存儲服務器——zimg,來自己搭建一個圖片服務器。

當然你也可以利用分布式文件存儲系統在存儲圖片,比如FastDFS,不過針對圖片的特有功能,比如縮放、截取、傾斜等,都需要自己特殊處理,而這正是圖片服務器zimg所擅長的東西。

官網地址:http://zimg.buaa.us

服務器的安裝、配置、使用手冊等,官網都有詳細的介紹,可以直接查看官網,很詳盡,有問題也可以在github上提出issue,共同維護解決。

安裝成功后,打開測試頁面

上傳圖片后成功后頁面

 

圖片存儲時,會生成圖片對應的MD5值來作為尋址的唯一標識,圖片重復存儲時,在zimg中只會存儲一份,從而有效減少相同圖片的存儲。但理論上有一個弊端,一個圖片刪除后,所有引用的地方都會清除掉。

下面羅列zimg可以提供的常見功能:

  1. 所有圖片默認返回質量為75%,JPEG格式的壓縮圖片,這樣肉眼無法識辨,但是體積減小

  2. 獲取寬度為x,被等比例縮放的圖片

  3. 獲取旋轉后的圖片

  4. 獲取指定區域固定大小的圖片

  5. 獲取特定尺寸的圖片,由於與原圖比例不同,盡可能展示最多的圖片內容,縮放之后多余的部分需要裁掉

  6. 獲取特定尺寸的圖片,要展示圖片所有內容,因此圖片會被拉伸到新的比例而變形

  7. 獲取特定尺寸的圖片,但是不需要縮放,只用展示圖片核心內容即可

  8. 獲取按指定百分比縮放的圖片

  9. 獲取指定壓縮比的圖片

  10. 獲取去除顏色的圖片

  11. 獲取指定格式的圖片

  12. 獲取圖片信息

  13. 刪除指定圖片

而以上這些功能的提供,僅需要一個url+特定的參數,通過get方式就可以完成,這才是簡便之處。

zimg提供三種存儲方式:本地磁盤,beansdb,ssdb三種。單機存儲,依據其目錄結構設計,可以存儲1024 * 1024 * 1024 * 200KB = 200TB(單圖200KB大小)數據量,切換成beansdb或ssdb,后續可擴展成更大容量的存儲完全不是問題。

擴展閱讀:

長按2秒,識別二維碼,關注我。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM