Hotmail 规模和背后的架构

Hotmail 合作伙伴开发经理 Phil Smoot 在 Inside Windows Live 博客中详细介绍了 Hotmail 架构,并且引用的那部关于 Hotmail 工程团队老大们的视频也暗示了 Windows Live Hotmail 新标志。本文中提到的 Hotmail 规模可在 Hotmail 简史Hotmail 背后的工程和数据中看到。

Windows Live Hotmail 新标志?

如今 Hotmail 的架构也经过了多次的升级和重构,Hotmail 幕后运行着 100 多种不同的服务,从大类上来看,可分为以下 7 种:

  • 管理类服务 允许微软投入少量的人力来管理整个 Hotmail 服务器系统。系统设计的目标是“自我修复”机制,从而自动化实现软件部署、服务器健康度监控、自动修复问题服务器、平衡系统等,无需人工干预。
  • 存储类服务 Hotmail 使用了数以千计的服务器来存储用户数据,还包括 3-4 份的备份数据。Hotmail 的数据系统支持自动复制、数据一致性和故障修复算法等来保证用户数据的可访问性和正确性。
  • 消息发送服务 Hotmail 每天处理 80 亿条消息,而除去垃圾邮件,共有 25 亿条。
  • 反垃圾邮件、安全、隐私服务 Hotmail 的若干垃圾邮件防护服务支持过滤邮件、整合第三方黑名单和安全名单、记录用户汇报的垃圾邮件、处理终端信誉系统(例如邮件发送自哪里)。Hotmail 反病毒服务会在邮件送达用户之前删除病毒。
  • 数据同步服务 Hotmail 支持 POP3 和 DeltaSync 同步协议,支持 PC 端 Outlook 和 Windows Live Mail,手机端 Windows Phone、黑莓、iPhone 等邮件同步。还包括 Web Messenger、支付帐号信息、Windows Live ID 验证系统的数据同步,以及第三方的服务更新比如 Twitter、Facebook 等。
  • 站点维护服务 包括数据仓库服务(跟踪各功能使用率、系统性能),系统垃圾回收服务(删除垃圾邮件),加载平衡服务(确保存储、CPU、内存和网络和整个服务器网络的性能平衡)。
  • 应用类服务 例如邮件、日历、联系人和 Web Messenger。这些应用使用到了诸如缓存、根据地理的数据存储、带宽侦测等技术来满足 Hotmail 面向全球用户的性能要求。

Hotmail 是利用被称为“Clusters”的管理单元来构建和管理所有上述的 Hotmail 服务的,而简单来讲,单个 Cluster 就是计算、存储和内存缓存服务器等结合的管理单元。该单元的设计目的就是最大化性能,最小化系统故障的影响。Hotmail 目前有上百个 Clusters 单元,并且每年都在增加。更多关于 Clusters 的架构细节可阅读:

Phil Smoot 最后还总结了微软 Hotmail 部门在开发和部署 Hotmail 等大型网络服务的建议:

  • 保证所有的设计尽可能的简单
  • 去除所有单一失效点
  • 从第一天就开始性能测试
  • 自动化一切
  • 隔离多系统故障(勿让某个系统的故障影响其他系统)

现在 Hotmail 每月都会新增 2 PB 用户数据,可以想象将支持 Windows Live Sync 的 Windows Live SkyDrive 每月增加的数据远不止这个数,对微软 Windows Live 工程团队来说,又是不小的挑战。 😀

官方博文: Hotmail tips the scales

直达:微软中国官方商城 - 购买 Surface、Xbox 和配件促销

1 条评论
发表评论