歡迎您光臨本站 註冊首頁

Yupoo! 的網站技術架構

←手機掃碼閱讀     火星人 @ 2014-03-03 , reply:0

Yupoo! 的網站技術架構

又有機會爆料國內 Web 2.0 網站的架構了。這次是 Yupoo! 。非正式的採訪了一下 Yupoo!(又拍網) 的創建人之一的 阿華(沈志華)同學,了解了一些小道消息。
作為國內最大的圖片服務提供商之一,Yupoo! 的 Alexa 排名大約在 5300 左右。同時收集到的一些數據如下:
帶寬:4000M/S (參考)
伺服器數量:60 台左右
Web伺服器:Lighttpd, Apache, nginx
應用伺服器:Tomcat
其他:Python, Java, MogileFS 、ImageMagick 等

該架構圖給出了很好的概覽(點擊可以查看在 Yupoo! 上的大圖和原圖,請注意該圖版權信息)。
關於 Squid 與 Tomcat
Squid 與 Tomcat 似乎在 Web 2.0 站點的架構中較少看到。我首先是對 Squid 有點疑問,對此阿華的解釋是"目前暫時還沒找到效率比 Squid 高的緩存系統,原來命中率的確很差,後來在 Squid 前又裝了層 Lighttpd, 基於 url 做 hash, 同一個圖片始終會到同一台 squid 去,所以命中率徹底提高了"
對於應用伺服器層的 Tomcat,現在 Yupoo! 技術人員也在逐漸用其他輕量級的東西替代,而 YPWS/YPFS 現在已經用 Python 進行開發了。
名次解釋:
YPWS--Yupoo Web Server YPWS 是用 Python開發的一個小型 Web 伺服器,提供基本的 Web 服務外,可以增加針對用戶、圖片、外鏈網站顯示的邏輯判斷,可以安裝於任何有空閑資源的伺服器中,遇到性能瓶頸時方便橫向擴展。
YPFS--Yupoo File System 與 YPWS 類似,YPFS 也是基於這個 Web 伺服器上開發的圖片上傳伺服器。

【Updated: 有網友留言質疑 Python 的效率,Yupoo 老大劉平陽在 del.icio.us 上寫到 "YPWS用Python自己寫的,每台機器每秒可以處理294個請求, 現在壓力幾乎都在10%以下"】
圖片處理層
接下來的 Image Process Server 負責處理用戶上傳的圖片。使用的軟體包也是 ImageMagick,在上次存儲升級的同時,對於銳化的比率也調整過了(我個人感覺,效果的確好了很多)。」Magickd「 是圖像處理的一個遠程介面服務,可以安裝在任何有空閑 CPU資源的機器上,類似 Memcached的服務方式。
我們知道 Flickr 的縮略圖功能原來是用 ImageMagick 軟體包的,後來被雅虎收購后出於版權原因而不用了(?);EXIF 與 IPTC Flicke 是用 Perl 抽取的,我是非常建議 Yupoo! 針對 EXIF 做些文章,這也是潛在產生受益的一個重點。
圖片存儲層
原來 Yupoo! 的存儲採用了磁碟陣列櫃,基於 NFS 方式的,隨著數據量的增大,」Yupoo! 開發部從07年6月份就開始著手研究一套大容量的、能滿足 Yupoo! 今後發展需要的、安全可靠的存儲系統「,看來 Yupoo! 系統比較有信心,也是滿懷期待的,畢竟這要支撐以 TB 計算的海量圖片的存儲和管理。我們知道,一張圖片除了原圖外,還有不同尺寸的,這些圖片統一存儲在 MogileFS 中。
對於其他部分,常見的 Web 2.0 網站必須軟體都能看到,如 MySQL、Memcached 、Lighttpd 等。Yupoo! 一方面採用不少相對比較成熟的開源軟體,一方面也在自行開發定製適合自己的架構組件。這也是一個 Web 2.0 公司所必需要走的一個途徑。

[火星人 ] Yupoo! 的網站技術架構已經有511次圍觀

http://coctec.com/docs/service/show-post-117.html