曾宪天
编辑:太平洋科技
发布于:2023-10-01 00:24
PConline原创
12306,从未“摆烂”
|
长假8天,无论回家还是出游,都很难绕开抢火车票这个话题,但即便已经发展了十余年,12306依旧是网友们集火吐槽的目标。
比如就在国庆假期火车票开抢首日(9月15日),12306很快就被骂上了热搜,原因依旧是系统卡顿,登不上账号,抢不到票等等。毕竟在以秒为单位抢票的时刻,任何的不流畅、卡顿都可能导致错过购票。
作为一个售票服务平台,让用户有不好的体验,被吐槽也无可厚非,不过从更长的时间周期和更宏观的视角来看,12306早已是全球最大的票务系统,流量压力更是远超谷歌等头部互联网平台,发展中遇到的困难也绝对称得上是史诗级的。
多年下来12306其实并没有“摆烂”,而是一直在努力地想办法怎么让更多的人抢到票,这些水面之下的内容,也应该被更多的人所了解。
央视财经在相关报道中公布的数据显示,9月13日至24日,全国铁路累计发售车票2.35亿张。其中9月22日铁路售票量达到2695.2万张,创单日售票量历史新高,铁路12306系统访问量日均达到514.4亿次。
日均514.4亿次访问量是什么概念呢,根据SimilarWeb的统计数据,全球最大的搜索引擎谷歌日均访搜索量为35亿次的规模,可想而知12306服务器所承受的流量压力比谷歌大了十余倍,更不用提排名在谷歌之后的苹果、亚马逊、微软等巨头了。
然而要知道的时,在承受的阶段性爆发流量压力远小于12306的情况下,谷歌、微软们也并不能保证服务器不出问题。
比如2020年12月,谷歌服务器突然遭遇全球大面积故障,出现了持续45分钟的宕机,在这期间谷歌旗下的多项服务都无法访问;2020年9月,苹果公司出现服务器问题,几乎全部的服务系统都出现了中断的情况;2019年5月,微软Azure在全球范围内出现持续2小时的大面积宕机,影响了多个微软服务的正常运行。
造成服务器宕机、瘫痪的原因有很多,但流量突然暴涨,远超服务器负荷的情况,无疑是其中重要的一种因素。
除了夸张的流量压力外,12306还需要面对极为复杂的商品组合、销售的逻辑。以电商网店为例,1件商品对应1个SKU(商品库存),卖掉1个商品,系统里库存-1即可,消费者试过后不满意选择了退回,那么系统再+1,将商品重新算入库存,继续面向市场销售。
然而相比于这个简单的销售逻辑来说,12306的复杂程度可能会超出人们的想象。比如一趟列车途径多个车站,有3中不同价位的座位,这其中的排列组合可以产生几百种SKU。
具体举个例子,假设旅客买了广州到武汉的车票,12306不能只减去广州到武汉站的座位SKU,也要把韶关、郴州、衡阳、长沙等途径车站到武汉站的这个座位SKU去掉。
逻辑很简单,因为列车途径这些中间站点的时候,这个坐位一直都是属于你的,12306系统就不能再把这个坐位售卖给想从这些中间站点前往武汉的旅客了。
那么如果这个广州到武汉的用户最终选择了退票,那么12306的库存也不仅仅是加上一张广州到武汉的车票而已,而是要重新把韶关到武汉、长沙到武汉、韶关到长沙等等无数种排列组合的SKU重新上架。
这还只是一个用户,在一趟列车上可能出现的少数集中情况。要知道全国有数千个火车站,按照今年春运全国铁路高峰日最高开行旅客列车6000多列的规模来算,这其中的排列组合产生的SKU已经可以说是天文数字了。
如今再加上靠窗还是靠走道的坐位选择,以及后续可能新增的各种其他选座功能,12306的系统的运算能力和速度还将面临更大的挑战。
有12306内部人士曾在接受媒体采访时就表示,12306的系统天天都像是在经历“双11”。
要知道阿里云为了应对“双11”购物节巨大的用户流量和复杂的需求处理,每年都是严阵以待的状态,而这样的运行压力已然成为了12306日常需要应对的情况,这也侧面体现了12306的先进性。
从目前实际情况来看,相关车票SKU的配售、退票、选座等工作,12306系统已然能在毫秒之间全部完成计算并实现对用户的响应,除在瞬时流量高峰时仍会出现卡顿等问题外,一定程度上已经实现了较为“丝滑”的购票体验。
12306如今依然被吐槽,其实有一部分原因是源于在平台发展的早期,12306的服务器容量、运算力都十分有限,面对春运刷新、访问的高峰期,服务器常常因无法承载而瘫痪,用户体验极差所留下的一些刻板印象。
首先划个重点,12306在承担了远超谷歌等科技巨头服务器的流量压力之下,不断接入的第三方抢票软件,让12306的处境雪上加霜,这也是经常被大众所忽略的部分。
所谓的第三方抢票软件,有一个十分通用的底层逻辑,就是通过企业级的宽带网速,结合针对性地抢票程序,代替用户去密集访问12306的官网或移动端平台。
比如用户自己抢票时的点击频率可能在1秒两三下,按照秒级单位来算。但第三方抢票软件通过系统访问,点击频率可以提升至毫秒级,每秒产生大量的点击请求,自然会比人工抢票的概率更高。
但这有个致命的问题,就是人为地猛增了12306承受的流量压力。
2020年时,12306首次公开了一些数据指标,其中有一项就跟第三方抢票平台的大量访问有关。当时12306将疑似刷票软件的访问列为风险请求,这类访问的占比高达52%,每秒的风险请求高达82.12万次。
也就是说,有超过一半的系统压力可能来自于各式各样的抢票软件。对此12306也早已开始了风控系统的建设,通过各种方式对异常的刷票、抢票行为进行拦截,比如识别浏览器、IP在内的异常行为再予以定点拦截等等。
这样做的目的不仅仅是保障12306的系统稳定,也是为了确保游客正常的查询、下单、支付等购票流程和体验。12306在努力排除第三方抢票软件干扰的同时,还推出了“候补购票”功能,让抢票软件的存在意义大打折扣。
在系统构建和完善方面,从2014年开始,12306将网站访问量最大的查询业务分流到了云服务端口,极大地提升了应对爆发式流量的能力。2016年后,12306又进一步在云端扩容,几乎整体将查询业务交由了更大容量、更稳定的云服务器来处理,极大地减轻了平台的压力。
12306相关负责人曾在接受《中国经济周刊》采访时就表示,平台采用了公有云和私有云相结合的模式来提升数据处理能力,在日常的情况下,国铁集团和铁科院各有一个完善的数据中心,通过自有资源来保障网络售票服务的正常运行。
而在国庆、春节等节假日高峰期,便会引入公有、私有结合的混合云技术来提高服务能力,确保网络售票的流畅与稳定,这种灵活的技术处理方式也依托于弹性的扩展架构来实现。
除了通过各种技术的应用及强化来让系统更稳定外,12306还通过大数据分析来做更多的提前预判工作,进一步保障旅客的购票需求。比如通过大数据分析,铁路部门可以提前研判一些热门地区的需求,进而采取提升车厢数量、新增临时班次等运力调度策略。
近日“中国铁路”公众号就公布了消息称,铁路部门已经在加大运力。
根据售票数据和运输能力,铁路部门将在假日运输期间,增开跨铁路局集团公司的直通旅客列车320列,包括日间高铁14列、夜间高铁200列、普速旅客列车106列。其中夜间高铁的主要方向为京沪、京哈、京广、沪昆、广深高铁等热门紧张区段。
针对后续可预见的返程高峰时段,铁路部门也明确表示,各铁路局集团公司将进一步挖掘运输潜力,在铁路局管内增开短途旅客列车,尽最大努力满足旅客返程购票需求。
回想一下,从多年前在火车站广场通宵排队,黄牛漫天要价仍然一票难求,到如今在手机上点击操作就能便利购票,黄牛几乎消失不见,无疑是一种巨大的跨越。
这背后不仅仅是12306在技术上的持续深耕,还有铁路基建的不断完善与发展,列车服务人员在岗位上的坚守等等,12306平台以及每一位铁路人的努力都值得被更多人看到。 |
IT百科
网友评论
聚超值•精选
