你拿到火车票了吗?抢到请评论1,没抢到请评论2。然而,60%瞎猜的人会评论1。毕竟没有人直接卖零票以上的,但我不得不承认,现在买火车票方便多了,因为十年前春运高峰期买了票,但是人多。
得益于12306,作为全球最好的实时售票系统,12306平均每年卖出30亿张火车票,可以连续绕地球7圈。去年春运高峰期的12306,平均一秒钟就收到了170万次点击,相当于14亿人每天点餐100次。谷歌是它前面的弟弟。
然而,如此强大的12306却是在亿万人的骂声中成长起来的。2011年,12306刚出道就翻车了,使用过程繁琐、服务器慢、网页404等问题以不同的模式出现。虽然第二年铁道部花了3.3亿升级系统,但12306仍然是春运高峰的一次大跨越,要么大规模卡壳,要么完全瘫痪,其验证码就是泥石流。
2015年,12306中有近600种图形验证码,经过排列组合后共有30万种,因此只有8%的人能够一次性准确输入。10年来,12306在完善系统的同时被骂,还将其75%的车票查询流量交给云端处理。现在12306成了别人的孩子,但不就是一个售票系统吗?需要十年才能完善?12306的难度是什么?
12306的架构有多难,比淘宝难几百倍?以库存为例,电商的库存是纯线上静态库存,商店每卖出一件商品就会减少一件,如果有人退货就会增加一件。12306的火车票是一个线上线下联动的动态库存,其计算要比电商复杂得多。
以广州到济南西站的G2056为例。这列火车有17个车站和3种座位。学过排列组合的同学都知道,公式应该列为3*C217。总共有408张火车票。假设A买了1站到2站的火车票,库存是不是减少了一个?不要。因为1站到3站、4站15站的票要减一,也就是说卖1站到2站的票其实需要减16股。
每次换票或退票,都要重新计算全线各站的剩余票量,每次查询剩余票12306,只需几毫秒就能跑完整个数据库。所以12306崩溃时似乎没有点击是无辜的,所以12306数据量的计算难度和复杂度远高于电商平台。
另外12306号还要和人工黄牛、技术黄牛角力,真的太难了。那么问题来了,你是不是因为这些黄牛而抢不到票?买加速包真的能提高抢票概率吗?
为什么我买不到票?是因为我买的加速包不够吗?12306上线后不久,市场份额不到1%的猎豹浏览器就推出了一款特殊插件,专门用于春运抢票。后来的火狐、360、搜狗等。跟风做了各种插件抢票,一度破坏了12306的服务器。
2015年,携程斥资1亿收购小破厂,推出智行火车票和订票助手。后来,有加速包和帮助抢票。这些加速包真的有用吗?其实抢票软件的原理很简单,就是机器不断读取12306数据接口的毫米级刷票,24小时持续监控剩余票量。但是刷票次数的增加,除了增加12306的负荷外,并不会增加冲票成功的概率。而且个人信息交给第三方会有一定的风险。
2018年12306年,构建风险控制体系,专门识别和拦截抢票软件等异常请求,随后引入备用功能。如果有退款,会优先考虑备用订单,所以加速包真的没用,所以不要傻傻交智商税。
最后,我和大家分享一个小彩蛋。每次坐火车都会给铁路会员积分,可以用来兑换火车票。积分不仅会长期使用,还会增加,这是白嫖党的一大胜利!