技术揭秘:12306是如何挺过春运洪峰的

作为曾参与12306余票查询系统高并发升级的技术从业者,笔者注意到公众对于12306底层技术常存在认知盲区。为破解这一迷思,特此分享十年前的架构解密文献(该技术之前名叫 gemfire 现已晋升为Apache顶级项目Geode,代码库详见:https://github.com/apache/geode),供技术爱好者探讨研习。

Geode的核心价值在于其高并发处理机制,尤其适用于数据规模适中但需应对瞬时流量洪峰的场景。以12306余票计算为例:当业务面临千万级QPS并发查询时,通过分布式内存架构实现毫秒级响应,这正是其不可替代性所在。

对于一般企业而言,若未遭遇类似12306的极端流量压力,现有技术栈已足够支撑。但对于面临业务爆发增长或响应延迟瓶颈的系统,在当下内存成本持续走低的趋势下,可考虑通过内存计算扩容提升系统承载力。如有技术实现层面的疑问,欢迎在评论区深入交流。

技术揭秘:12306是如何挺过春运洪峰的

一、流量洪峰下的系统压力

二、架构抉择:Scale Up 还是 Scale Out?

三、关键技术引入:Pivotal Gemfire

四、系统改造成果回顾(2012-2015)

主要演进路径:

五、以混合云应对海量流量

六、从架构中汲取的经验教训

尾声:从12306看未来互联网系统架构


技术揭秘:12306是如何挺过春运洪峰的

编者按:12306曾被称为“全球最忙碌的网站”,也曾因频繁崩溃被广大用户诟病。然而,2015年春运期间,12306系统成功抗住海量访问压力,顺利完成售票任务。作为长期关注该系统改造的架构师,本文将从技术视角还原12306架构演进的全过程,聚焦其如何借助分布式内存计算平台 Pivotal Gemfire 实现高并发、低延迟的能力。


一、流量洪峰下的系统压力

在2012年春运期间,12306系统首次承载数以千万计的在线购票请求,却因为系统响应迟钝、频繁崩溃而饱受批评。核心问题在于:

  • 平时 PV(日访问量)仅 2500 万~3000 万;

  • 2015 年春运单日 PV 高达 297 亿,激增 近千倍

  • 若不能弹性扩展带宽和计算资源,系统极易陷入崩溃。

二、架构抉择:Scale Up 还是 Scale Out?

传统三层架构在面对突发流量时存在结构性瓶颈:

  • 后端数据库 Sybase 无法横向扩展;

  • 应用层功能复杂,难以微服务化拆分;

  • 系统升级只能“堆硬件”,成本高、周期长。

因此,12306架构团队决定引入“分布式内存计算平台”,通过软件定义架构应对“秒杀”级访问洪峰。

三、关键技术引入:Pivotal Gemfire

经过多轮POC测试,团队最终选定Pivotal Gemfire作为核心组件。它具备如下特性:

  1. 内存级查询性能:数据驻留内存,读写操作纳入微秒级响应。

  2. 按需伸缩能力:新增节点即可线性提升TPS,完美适配突发访问高峰。

  3. 关联数据局部化设计:将相关数据分布在同一节点,降低跨节点通信开销。

  4. 高可用保障:内建多副本机制、支持持久化与异地同步。

  5. 云原生部署适配性:基于x86服务器,适合部署在虚拟化环境、公有云、私有云等混合架构中。

四、系统改造成果回顾(2012-2015)

年份单日 PV带宽售票量余票计算能力订单处理TPS
201210 亿1.5G110 万300-400 TPS200 TPS
201315 亿3G265 万>10,000 TPS500 TPS
2014144 亿5G501 万>10,000 TPS1000 TPS
2015297 亿12G564 万>10,000 TPS1000+ TPS

主要演进路径:

  • 2012:整体架构初成,但瓶颈突出,系统频繁崩溃。

  • 2013:引入Gemfire,实现余票查询10,000 TPS,刷新周期从10分钟缩短为2分钟。

  • 2014:订单系统改造为“分库二级查询”,使用Hadoop+Gemfire结合“快数据+大数据”模式。

  • 2015:建立5个Gemfire集群,余票查询流量75%转移至公有云(如阿里云),实现分布式部署。

五、以混合云应对海量流量

12306采用“双中心+公有云”的混合架构:

  • 本地机房部署主集群,保障核心票务稳定性;

  • 阿里云部署弹性余票查询集群,按需扩展计算节点;

  • 跨数据中心实时同步核心数据,提升整体容灾能力。

六、从架构中汲取的经验教训

  1. 弹性扩展是王道:面对秒杀场景,必须从一开始设计横向扩展的能力。

  2. 数据“就地计算”优先:将计算逻辑靠近数据,减少不必要的I/O和传输开销。

  3. 热数据/冷数据分离策略:将热点数据放入内存缓存,冷数据分层存储,提高整体效率。

  4. 混合云架构是未来趋势:将不同模块部署在合适的位置(私有云/公有云)是性能与成本的平衡点。


尾声:从12306看未来互联网系统架构

12306的架构演进历程,是从“传统三层架构”向“可弹性扩展的分布式内存计算平台”的一次范式转移。它不仅解决了用户购票的刚性问题,也给中国的IT基础架构建设提供了宝贵的实践样本。随着混合云、边缘计算、数据分布式处理等趋势不断演进,12306的故事仍将为后来的技术方案提供思路和方向。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值