在前不久结束的 QCon 2008 上,MySpace 的首席架构师 Dan Farino 做了题为 Behind the Scenes at MySpace.com (PDF 下载)的技术演讲。
架构概况
超过 4,500 台 Web 服务器,配置为 Windows 2003/IIS 6.0/ASP.NET ;超过 1200 台 Cache 服务器,64 位的 Windows 2003,超过 500 台的数据库服务器,配置为 64 位的 Windows 2003,数据库为 SQL Server 2005 。
之前曾有一篇 揭秘 MySpace 架构的文章,也有中文版本《亿万用户网站MySpace的成功秘密》,请 Google 之!
运维数据收集
其实这个演讲我感觉主要讲的是这个数据收集模块 :) MySpace 的方案倒是让我们看到了在超大规模的 Windows 环境下如何进行数据收集的。
每个客户端通过一个 TCP 连接到收集上服务器。收集的信息包括:Windows 性能计数器 Performance Counters、 WMI 对象(定制后的 WMI 对象)、事件日志、 硬件数据等等。收集器服务(Agent) 用 C#实现的,完全的异步 I/O,用了微软的 Concurrency and Coordination Runtime 库。每台主机上一个 Agent。其实国内也有超大规模的 Windows 环境 — 比如盛大,数据采集和监控的机制倒是类似的。
数据协议用的 Google 的 Protocol buffers。这倒是看到 Google 的这玩意儿公开后第一家大站点在用。也是因为用 Protocol buffers 从而不用 XMPP+ejabberd 的消息处理方案。
QCon 是我非常心仪的技术会议。可惜今年因为客观原因没能组织同事去参加。期待 2009 年在伦敦的会议。
–EOF–
延伸阅读:InfoQ 对 DanFarino 的专访。
会后还做了采访:
http://www.infoq.com/interviews/MySpace-Architecture-Dan-Farino
他们居然是从两层的ColdFusion渐变到.NET,很神奇。
BTW,别忘了明年4月还有QCon北京。
讲地这么精简*_*, 那偶去啃PDF去了
这个技术会议值得一去,可惜太远了!没那么多的时间!
北京QCon的时候,茂龙可以来看看。
这个帖子无论如何要顶,因为第一QCon是InfoQ做的,第二里面提到的《亿万用户网站MySpace的成功秘密》文章是当年我组的稿:)
MySpace用CCR做什么呢?
一直不了解MS系统的大数据量架构,还挺新颖的。不过是否换成LINUX会省很多$呢?哈哈,可爱的M$