Yahoo!社區架構

http://www.dbanotes.net

舊金山舉行的 QCon 會議帶給我們很多新鮮的信息。雖然沒機會參加,但是看看各個網站"曬架構"也是個比較過癮的事情。請參觀並收藏這個頁面:Architectures you've always wondered about

eBay 的架構和去年相比基本是換湯不換藥,倒是 Yahoo! 的 Ian Flint(這位老兄是 Bix 的運營總監. Bix 已被雅虎收購) 這個 PPT Yahoo! Communities Architecture: Unlikely Bedfellows 挺有意思,披露了一些鮮爲人知的信息。

Yahoo! 社區包括我們比較熟悉的 del.icio.usFlickr、Yahoo!羣組、Yahoo! Mail、Bix等。相當於 Yahoo!把這些屬性相近的應用放到一起運營。這個思路倒是和盛大對遊戲的運營有些相近。

架構特點

有兩點值得注意:1)層次化 2)模塊化。這也是大規模作業下的比較經濟的途徑。

軟件架構

首先是操作系統已經從 FreeBSD 逐漸遷移到 RHEL。這怕是雅虎不得已作出來的決定吧。FreeBSD 的開發力量的確不如 Linux,這也是不爭的事實。數據庫上 MySQL 與 Oracle 都有。Yahoo! 在 DW/BI 用的是 Oracle,構建了一個超大數據庫。諸如 yapache、yts(反向代理服務器)、yfor(提供快速失敗接管)、 ymon(監控),還有還有ysquid、ypan(cpan的 Yahoo! 克隆) 這些組件都是通過 yinst 來統計部署。關於 Yapache,請參考我以前寫的 Yapache-Yahoo! Apache 的祕密

這是 Bix 與 DB 有關的部署架構:
Yahoo_soft_arch.png

數據放在 Netapp NAS 上(所以有的時候應用之慢也可以理解了),通過快照複製到其他數據中心。

Yahoo! Mail 架構:
Yahoo_Mail_arch.png

這裏面居然部署了 Oracle RAC,用來存儲 Mail 服務相關的 Meta 數據。非常有趣。

運營維護

監控工具主要用的是 Nagios,用以監控集羣。使用標準插件,另外也有自行定製的插件。Nagios 這東西太棒了。主動、被動檢查的消息轉發是通過 Ymon 來做到。網管上針對 SNMP 的解決方案是用 Yahoo!自己 Y 字頭的 Ywatch。這些 Y 字頭的東西基本上外面都是找不到的。Yahoo!的技術其實並不那麼開放。Google 在運營這方面也好不到什麼地方去。趨勢圖用 Drraw 展現。Drraw 是基於 RRDtool 的 Web 展現工具。

Yahoo_ops.png

應用服務器的監控是被動的。整個監控系統模塊化部署。Nagios 的警告信息轉發到 Ywatch 中心控制檯。

Note: 上面所有截圖版權都屬於 Ian (Image COPYRIGHT@IAN) 。如果去看那個 PDF 文件,你或許比我收穫更多。我只是讓你知道我的想法而已。

發佈了23 篇原創文章 · 獲贊 0 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章