提到阿里云核心系统,很多人想到的是双11那块交易大屏。但这套系统的起点并不在电商页面上,而是在一次对传统架构的重新审视里。把它的设计思路理清楚,才能看懂大规模云计算平台为什么能稳定运行。

从“去IOE”开始
2009年前后,阿里巴巴的业务增长很快。当时不少系统依赖小型机、集中式数据库和商业存储设备,也就是业内常说的IOE架构。这类方案的问题很直接:扩容贵,单点故障影响面大,一次升级往往要等很久。于是团队决定逐步替换这些组件,改用普通服务器组成的分布式集群,这个过程被称为“去IOE”。
这一步改变的是性能的来源。以前系统能跑多快,很大程度取决于一台机器有多强;换成集群之后,能力可以靠加机器来横向扩展。后来阿里云的很多底层能力,都能看到这条路线的影子。
三层基础设施:计算、存储与调度
拆开来看,阿里云核心系统大致分成三层。
- 飞天(Apsara):统一管理大规模服务器资源,提供接近操作系统的能力,把底层硬件的差异挡在上面。
- 盘古:分布式存储,负责数据分块、冗余和副本管理。单个节点出故障时,服务可以切换到其他副本,业务侧通常感知不到。
- 伏羲:分布式调度,按任务优先级和资源余量分配计算资源,减少机器空转。
三层配合的好处,是上层业务不必操心某台机器有没有宕机,也不必关心数据具体落在哪个机房。对做业务的人来说,这一点决定了云服务能否被大规模、稳定地交付出去。
一个电商商家大促时会遇到什么
下面用一个假设的例子,说明这套体系在实际场景中怎么起作用。设想某中型电商商家在大促时,订单量可能在几分钟内从平时的几倍涨到几十倍。如果它的数据库和订单服务都部署在同一个区域,某个可用区一旦出现网络抖动,订单就可能大面积失败,而且问题往往在最忙的时候暴露。
如果换成多可用区部署,并配合数据库的主备切换,服务就分散到了不同机房。节点异常时,调度层把流量导向健康节点,存储层保证副本可用。商家不用在凌晨爬起来手动切换,这是这类方案最直接的价值。具体切换耗时取决于架构和配置,差别很大,上线前最好用压测和故障演练自己验证。
这个例子想说明的是,核心系统的价值不只是“能扛住”。更关键的是把复杂的容灾逻辑做成默认能力,业务方才能把精力放在商品、营销和交易本身。
大促前的压测与大促中的取舍
双11之前,阿里云和阿里巴巴内部团队通常会做全链路压测,模拟真实用户的下单、支付和查询路径,把瓶颈找出来。压测结果会直接指导容量规划,比如哪些服务要提前扩容,哪些缓存需要预热。压测越接近真实路径,结果越有参考价值;只压单个接口,很容易漏掉链路上的问题。
另一方面,系统也要接受一个现实:不可能承接所有请求。限流、降级和熔断是常见手段。负载过高时,先暂时关掉推荐、评价这类非核心展示,把资源让给下单和支付。这种取舍看起来保守,却是大促期间保证主流程可用的基本原则。
对开发者的几点提醒
- 设计时就留出扩展空间。如果性能全靠一台高端设备撑着,峰值来了基本没有退路。
- 存储和计算尽量解耦。哪一层出问题,影响范围要能说清楚,而不是一出事全站都受牵连。
- 压测和容量规划放进日常流程。只在大促前临时准备,通常来不及修掉真正的问题。
- 降级策略提前写清楚。哪些功能可以暂停,哪些必须保底,最好在评审时就定下来,而不是等事故当天再争论。
阿里云核心系统的经验没有什么神秘之处,更像是一套持续迭代的工程方法。正在搭建或迁移系统的团队,与其照搬某个具体组件,不如先弄清楚这些分层思路和取舍逻辑,再决定哪些能借鉴到自己的场景里。