開源圖片存儲服務:zimg

jopen 10年前發布 | 110K 次閱讀 zimg 存儲系統 分布式/云計算/大數據

zimg是一個具有圖片處理功能的圖片存儲服務,你可以上傳圖片到zimg服務器,然后通過帶有參數的URL來獲取被處理過的圖片。比如下面的URL將獲取到一張被縮放到500*500,旋轉45°,顏色變成灰白,圖片質量為75%,格式轉化成jpeg的圖片:

http://demo.buaa.us/5f189d8ec57f5a5a0d3dcba47fa797e2?w=500&h=500&g=1&r=45&q=75&f=jpeg

如果你有多個客戶端,或者在網站上有多個位置需要展示不同分辨率,不同質量的圖片,那么這樣的圖片存儲服務器對于前端來說將是非常方便的,不僅減少 工作量,更重要的是可以降低網絡傳輸的流量,提高頁面加載速度。通常,圖片的存儲和處理是分開的,裁剪和壓縮部分一般由PHP調用圖片處理庫來完成,一個 字形容就是慢。zimg從網絡I/O、HTTP解析、圖片壓縮到數據存儲,全部用c完成,而且在這個過程中盡可能的避免文件操作和內存拷貝,使得整體處理 能力極高。

架構圖

zimg v3.1 的架構與 v2.0相比沒有變化,由于加強了實時處理能力,大型圖床服務可以采用同時啟用多臺zimg,前端引入LVS的方式來進行負載均衡,每一臺zimg都是無 狀態的,它們可以同時配置相同的存儲后端。具體的設計還要根據具體的需求和實際的壓力情況進行調整,在此列出一個示意架構圖作為示范:

開源圖片存儲服務:zimg


詳細介紹:http://zimg.buaa.us/documents/design_of_zimg_new_generation/

項目主頁:http://www.baiduhome.net/lib/view/home/1410273249867

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!