暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
2015——12306互联网售票系统的架构优化及演进.pdf
937
5页
16次
2022-12-08
免费下载
2015.11总第224
RCA
1
文章编号
1005-8451
2015
11-0001-05
第24卷第11期
Vol.24 No.11
系统技术
SYSTEMS TECHNOLOGIES 
铁路
RAILWAY COMPUTER APPLICATION
计算机应用
收稿日期:2015-08-02
基金项目 中国铁路总公司科技研究开发计划重大课题(2013X009-A-1),
2013X009-A-2)。
作者简介:朱建生,研究员;王明哲,副研究员。
12306互联网售票系统的架构优化及演进
朱建生,王明哲,杨立鹏,阎志远,张志强
(中国铁道科学研究院 电子计算技术研究所,北京 100081
要:
12306互联网售票系统是中国铁路最重要的售票渠道。本文介绍系统的体系架构及其在上线
初期遇到的性能问题,以及为解决相关问题,改善用户体验进行的几次重大架构优化的思路和实践,同
时简要介绍12306在架构优化方面下一步的工作设想。
关键词:
12306;互联网;售票;架构
中图分类号:
U293.22TP39
文献标识码:
A
Architecture optimization and evolution of 12306 Internet Ticketing and
Reservation System
ZHU Jiansheng, WANG Mingzhe, YANG Lipeng, YAN Zhiyuan, ZHANG Zhiqiang
( Institute of Computing Technologies, China Academy of Railway Sciences, Beijing 100081, China )
Abstract: 12306 Internet Ticketing and Reservation System was the most important ticketing channel for Chinese
railway. This paper introduced the system architecture and its performance problems in the beginning, as well as
several major architecture optimization ideas and practices to solve the relevant problems, improve the user experience,
and briey introduced the idea of the architecture optimization of the next step.
Key words: 12306 Website; Internet; ticketing; architecture
12306 互联网售票系统是基于中国铁路客票发售
和预订系统(简称:客票系统)这一核心系统构建的。
2011 6 12 日,系统投入试运行,发售京津城际
列车车票;2011 9 30 日,发售全路动车组车票
2011 年底,发售全路列车车票,互联网正式成为铁
路新的售票渠道。
2012 年春运期间,由于访问量超出设计预期
12306 网站在高峰期出现了页面打开缓慢、查询和下
单报错、后台系统过载等一系列问题,用户体验不佳。
春运结束后,研发团队基于新一代客票系统多个科
研项目,对系统架构、应用功能以及业务规则进行
了持续优化和改进,逐步解决了售票高峰期海量并
发访问请求及处理等一系列关键技术问题,大幅提
高了系统的处理能力、稳定性以及用户体验。本文
将重点介绍 12306 网站自建设之初至今针对系统
性能优化的研究与实践工作,以及系统架构的演进
程。
1 12306系统架构及其出现问题
互联网售票系统作为客票系统一个新的售票渠
道,建设之初,在借鉴和参考客票核心系统架构的基
础上,根据互联网应用的特点,为系统设计了缓存
服务、用户管理、车票查询、订单及电子客票处理
等多个相对独立的业务分区,以及三级网络安全域
分别是外网、内网和客票网,系统的体系架构如图 1
所示。
具体实现时,用户管理、车票查询及订单 /
子客票处理均采用了传统的关系型数据库,其中车
票查询业务部署了多套负载均衡工作模式的数据库,
订单 / 电子客票处理业务采用了双机热备模式的数据
库,上述数据库均运行在小型机平台上。外网的车次、
余票等缓存服务采用了基于内存计算的 NoSQL 数据
,运行在 X86 平台上。上线前的压力测试,一笔
流程包含用户登录、车票查询、下单及支付等业务
操作,系统极限交易能力为 34 /s,按高峰期 10 h
RCA
2
2015.11总第224
第24卷第11期
系统技术
计算,售票量可达到 120 万张 / 天的设计能力。
2012 年春运期间,持续的高并发访问使系统在
多个方面出现性能瓶颈,如图 2 所示。
负载过高,查询响应时间过长,用户进而反复重试,
造成 ASApplication Server)的查询线程池拥堵。
2)放票时高并发的下单请求导致订单 / 电子客
票数据库负载过高,引起交易响应时间过长,造成
AS 以及 inetis 的交易线程池拥堵,下单失败后用户
反复重试,从而加剧拥堵。
3AS 线程池的拥堵进一步造成 Web 对外服
务线程的拥堵,影响页面打开及业务逻辑处理,造
成页面打开速度缓慢和超时错误。
4)内外网安全平台上在活动及新建连接过多
时性能下降,也导致 Web 访问 AS 出错。
5)订单 / 电子客票数据库负载过高时,对线下
车站的换票业务产生影响。
6为减轻网站压力,降低查询和下单的请求量,
网站被迫降级运行,限制在线的登录用户数量,造
成部分用户不能登录网站。
春运过后,互联网上也出现了关于 12306 架构
的讨论和建议热潮,通过认真听取各方意见,梳理上
述主要问题的原因和关联关系,结合系统监控数据
总结出主要是由于车票查询以及订单 / 电子客票业务
分区处理能力不足,造成高峰期高并发访问请求下响
应时间过长,加之各个业务分区未能很好进行隔离
导致系统由内至外产生“雪崩”效应,造成网站拥堵,
影响用户的购票体验。
2 系统架构的调整及优化
针对上述问题及原因,我们将架构优化及重构
思路重点放在提升车票查询和交易处理的响应速度,
以降低查询和交易的延迟。同时尽可能分离核心业
务,减少业务环节间的强关联,具体内容包括
1)使用内存计算 NoSQL 数据库取代传统数据
库,大幅提升车票并发查询能力,车票查询的 TPS/
QPSTransaction/Query per Second)由不足
1 000 /s 提升至超过 20 000 /sRTResponse
Time)由原来的 1 s 缩减至 10 ms,使用户可以快速
获取到车次及余票情况。
2)构建交易处理排队系统,系统先通过队列
接收用户的下单请求,再根据后端处理能力异步地
处理队列中的下单请求。队列的下单请求接收能力
用户管理
席位库
(北京)
订单/电子客
票处理
Web
车票查询
席位库
(上海)
席位库
(广铁集团)
AS
缓存服务
交易中间件
inetis
CDN
外网
内网
客票网
中国铁路总公司
铁路局
1 12306建设初期体系架构示意图
出现的主要问题包括
1)高并发的查询请求造成车票查询业务分区
用户管理
席位库
(北京)
订单/电子客
票处理
Web
车票查询
席位库
(上海)
席位库
(广铁集团)
AS
缓存服务
交易中间件
inetis
CDN
外网
内网
客票网
铁路总公司
铁路局
2 12306架构在高峰期出现的瓶颈示意图
中国
of 5
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜