原贴:http://www.dbanotes.net/techmemo/yahoo_arch.html

Yahoo!社区架构

旧金山举行的 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 文件,你或许比我收获更多。我只是让你知道我的想法而已。

--EOF--

| | Comments (3) | | Edit

Generator
<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script> <script language="JavaScript1.1" src="http://pagead2.googlesyndication.com/cpa/ads?client=ca-pub-2198040673582211&cpa_choice=CAAQhaT2_gEaCI52gVKP95-sKLGsuIEBMAA&oe=utf-8&dt=1195707406531&lmt=1195702126&format=ref_text&output=textlink&correlator=1195707406515&url=http%3A%2F%2Fwww.dbanotes.net%2Ftechmemo%2Fyahoo_arch.html&region=_google_cpa_region_&ref=http%3A%2F%2Fwww.dbanotes.net%2F&cc=100&ga_vid=1973111509.1195707407&ga_sid=1195707407&ga_hid=1470107025&flash=9&u_h=1024&u_w=1280&u_ah=874&u_aw=1280&u_cd=32&u_tz=480&u_his=1&u_java=true" type="text/javascript"></script> Get Firefox with Google Toolbar for better browsing
<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script> <script language="JavaScript1.1" src="http://pagead2.googlesyndication.com/cpa/ads?client=ca-pub-2198040673582211&cpa_choice=CAAQidTQgAIaCEapPfRcsfp6KN2uuIEBMAA&oe=utf-8&dt=1195707406734&lmt=1195702126&prev_fmts=ref_text&format=ref_text&output=textlink&correlator=1195707406734&url=http%3A%2F%2Fwww.dbanotes.net%2Ftechmemo%2Fyahoo_arch.html&region=_google_cpa_region_&ref=http%3A%2F%2Fwww.dbanotes.net%2F&cc=100&ga_vid=1973111509.1195707407&ga_sid=1195707407&ga_hid=1470107025&flash=9&u_h=1024&u_w=1280&u_ah=874&u_aw=1280&u_cd=32&u_tz=480&u_his=1&u_java=true" type="text/javascript"></script> Generate revenue from your website. Google AdSense.

本文相关评论|Comments(3)

khan.chan 的评论:

就不知Yahoo! 将这些本是OpenSource的软件改装下就变成自己的Y系列,是否违背GPL ?

玉面飞龙 的评论:

These contents is very usefull and valuable.

Thank you very much.

Like a spam :)

player 的评论:

我倒是以为,放弃FreeBSD的原因在于
1. DBMS厂商对FreeBSD的支持力度为零
2. 前后台维护技能的一致化,如果平台差异太多,人力资源成本很高的

另外,楼上,你看来没读过GPL。
如果我不出售GPL软件,爱怎么改怎么改。

添加评论

<script type="text/javascript"> </script> 直接 匿名评论 或者 登录 评论这篇文章(OpenID、TypeKey...)
 
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐