2024CTIS-文章详情页顶部

正经科普:12306能扛得住明星并发出轨级的流量吗?

12306:这是我被黑得最惨的一次。

图片来源:视觉中国

图片来源:视觉中国

钛媒体注:本文来源于微信公众号InfoQ(ID:infoqchina),作者:小智,钛媒体获授权转载。

买着票了吗您?

又是一年春运到来时,每年的这个时候,大家见面的问候语就从“吃了吗您?”变成了“买着票了吗您?”,于是相视苦笑,“¥%#& 的 12306”。春运是这个星球上最大规模的人类迁移活动,每年有长达 40 天的时间里,空运、铁路、公路齐上阵,运送着数十亿人次的旅客。

铁路系统,更是其中重要一环,历年铁路春运数据一览:

  • 2016 年,铁路春运 40 天累计发送旅客 3.03 亿人次;

  • 2017 年,铁路春运 40 天累计发送旅客 3.57 亿人次;

  • 2018 年,铁路春运 40 天累计发送旅客 3.8 亿人次;

  • 2019 年,铁路春运预计发送旅客 4 亿人次。

12306 春运放票可谓是互联网史上最无辜的“饥饿营销”:放票一秒钟基本就没票了,挂个携程、同程、飞猪、智行刷上一星期也未必抢得着一张票,找黄牛、自己写抢票脚本,八仙过海各显神通,“洛阳亲友如相问,就说我在抢车票”。

于是乎,吃瓜群众们认为 12306 的系统简直太烂了,都提前一个月了还买不着票。就像全国有好几亿人想教张小龙做微信一样,大概也有无数人想教 12306 怎么出票。

于是乎有人问了,12306 的系统能扛住明星并发出轨级别的流量吗?

我们先来聊聊 12306 的设计原理。

12306 的设计模式 

需求分析

服务旅客需求:

  • 在线售票服务需求;

  • 线下配套服务需求。

业务管理需求:

互联网售票涉及的票额、预售期、售票时间、席别、票种、车次、车站、实名证件类型、网站开放时间、业务办理时限、允许购票张数、售票收入统计、旅客投诉受理,异常用户处理等业务。

系统监控需求:

包括对互联网售票过程中涉及的软硬件设备进行资源利用、负载等运行状态的监控,以及对互联网售票处理速度、购票旅客行为、订单状态等进行监控,确保系统安全,稳定、高效运行。

系统结构、功能设计

铁路互联网售票相关的系统包括客票系统、12306 网站、互联网售票业务处理平台、铁路电子 支付平台以及站车无线交互平台 5 部分。如下图:

铁路互联网售票系统功能如下:

业务流程设计如下:

2012 年春运,由于访问量超出设计预期, 12306 网站在高峰期出现了页面打开缓慢、查询和下单报错、后台系统过载等一系列问题。持续的高并发访问使系统在多个方面出现性能瓶颈,如下图:

请输入图说

在平时,12306 也就是个普通的购票网站。一旦到了春运、黄金周,12306 就是一个全站所有商品都秒杀,所有 SKU 都是动态库存的存在。

从那以后,铁路系统的研发团队就一直在对系统架构、应用功能以及业务规则进行持续优化和改进。与此同时的,则是逐年刷新客流量峰值的春运、黄金周的高并发考验。

12306 的业务场景到底复杂在哪儿?

火车票跟很多票(包括各大电商的商品、机票、演唱会门票等)有不一样的属性。比如,从北京到广州,沿途有多个站点,理论上乘客可以选择任意 一段区间购票,所以每买一张区间票,可能同时裂变出多张区间票。这个逻辑比大多数电子商务系统要复杂的多。

购票差异还不仅限与此。比如再添加一些更人性化的功能:根据订票者身份证里的年龄优选上下铺、优选号等,那么查询和出票逻辑就更复杂了。

根据官方公布的数字,有人统计了一下:需要数千个 pv,才能出一张票。这个说法并不能得出“出票效率低”的结论,但是恰恰很形象地说明了查询量的巨大。

12306 的查询量不同于电商网站的商品查询,秒杀甚至饥饿营销抢购不到也就算了,火车票是抢不到也时刻惦记着甚至不惜写脚本 24 小时不间断刷新、查询的东西。

请输入图说

上图是爬虫流量的目标行业分布图,可以看到排第一名的是出行行业,而出行行业中近 90% 的爬虫流量都瞄准了 12306。

“12306 日均页面浏览量达到 556.7 亿次,最高峰时页面浏览量达 813.4 亿次,1 小时最高点击量 59.3 亿次,平均每秒 164.8 万次。”

这是加上验证码防护以后的数据,被拦在门外的爬虫流量有多少?不计其数。

上图是经过多次优化后的 12306 体系架构,可以看出比起前一张图,无论是系统的复杂程度还是结构的完善程度都有了巨大的提升。即便是这样,买不到票的人仍然很多。

事实上,像春运这样大规模的人类迁徙事件,从客观情况而言,技术只能起到缓解、改善、照顾到大部分人的作用。至于“根治”,需要的不仅是购票系统的技术水平持续提升,更加需要交通运输行业的持续进化。

12306 能扛得住明星并发出轨级的流量吗?

铁总:加机器扩容就能解决的事儿,不用来问我。

请输入图说

写在最后

普通人骂 12306,是因为他们不懂技术,也没有耐心去了解这背后的技术难点、业务场景复杂度。他们骂 12306,只是因为他们想回家。

要不我们再黑 12306 一把:如果让你来设计,你会给 12306 什么样的解决方案应对春运级别的流量?

参考资料

http://www.tljsjyy.com/CN/abstract/abstract3756.shtml

http://www.tljsjyy.com/CN/abstract/abstract2613.shtml

http://daily.zhihu.com/story/4453176

本文系作者 精选 授权钛媒体发表,并经钛媒体编辑,转载请注明出处、作者和本文链接
本内容来源于钛媒体钛度号,文章内容仅供参考、交流、学习,不构成投资建议。
想和千万钛媒体用户分享你的新奇观点和发现,点击这里投稿 。创业或融资寻求报道,点击这里

敬原创,有钛度,得赞赏

赞赏支持
发表评论
0 / 300

根据《网络安全法》实名制要求,请绑定手机号后发表评论

登录后输入评论内容
  • 能不能扛住啊?我也同问。

    回复 2019.02.01 · via h5
  • 能不能扛住啊?我也同问。

    回复 2019.02.01 · via h5

快报

更多

2024-04-26 23:03

大商所、郑商所夜盘收盘,烧碱跌近3%

2024-04-26 23:00

美股半导体股集体走强:英伟达涨超5%,博通涨超4%

2024-04-26 22:43

宝马计划对沈阳生产基地增加投资200亿元

2024-04-26 22:42

现货黄金短线下挫8美元

2024-04-26 22:40

美元兑日元站上157关口,为1990年5月来首次

2024-04-26 22:35

光峰科技:2024年第一季归母净利润4454.33万元,同比增长226.21%

2024-04-26 22:31

花旗现预计美联储将于7月降息

2024-04-26 22:30

昆明优化公积金住房套数认定标准:不再将个人住房商贷记录纳入认定范围

2024-04-26 22:25

中国船舶:第一季度归母净利润4.01亿元,同比增长821.12%

2024-04-26 22:23

纳斯达克指数涨幅扩大至2%,科技巨头全线上涨

2024-04-26 22:18

谷歌大涨超11%,再创历史新高,总市值突破2万亿美元

2024-04-26 22:11

研究显示到2025年底全球利率升幅只会砍一半,重塑投资格局

2024-04-26 22:09

台达电加码印度投资,预计增资6200万美元

2024-04-26 22:08

标普500指数涨1%至盘中高点

2024-04-26 22:07

上海航交所:本周中国出口集装箱运输市场行情表现良好,远洋航线运价上涨

2024-04-26 22:06

中基协:3月证券期货经营机构私募资管产品备案规模环比增长127.51%

2024-04-26 22:05

美国4月密歇根大学消费者信心指数终值为77.2,前值77.9

2024-04-26 22:04

美国消费者4月份对未来一年通胀率预期由2.9%升至3.2%

2024-04-26 22:00

东风着陆场完成最后一次全系统综合演练,准备就绪迎接神十七航天员回家

2024-04-26 21:54

中概股指数涨幅扩大至3.5%,小鹏汽车涨近10%

2

扫描下载App