每到春运总被骂,12306的技术水准真的比不上淘宝天猫吗?

每到春运,就到了12306被骂的最惨的时候,因为每到这个时候,回家(或者返程)和抢不着票的矛盾被放大了成千上万倍,而使用12306抢票的我们,最终就把气撒到了这个软件的头上。

什么垃圾软件,抢个票都抢不上,你看人家天猫双十一,那么多人抢都没毛病,轮到你就完犊子了,客户端仿佛得了老年痴呆一样,卡顿、登不上、网络延迟什么的毛病一大堆。

每到春运总被骂,12306的技术水准真的比不上淘宝天猫吗?_第1张图片

对于我们普通人来说,一个软件体验不好那就是垃圾,可是站在程序员的角度来看,12306这款软件真的要比淘宝天猫牛逼多了。

为什么要拿它和天猫做比较,因为12306实质上也是款电商软件,只不过它的商品是车票而已。

2017年的天猫双11,全天支付总笔数达到14.8亿笔,并没有出现问题。12306今年春运显示,1月3日发售春运车票以来,截止2月1日共发售车票3.5亿张,其中互联网售票为2.8亿张,高峰时日售出1135.7万张。

整个春运期间的2.8亿对比一下天猫双十一的14.8亿,简直是弱爆了,竟然还时不时的给我痴呆一下,现在看来,想不骂它都难。

但是事实真的这么简单吗?

每到春运总被骂,12306的技术水准真的比不上淘宝天猫吗?_第2张图片

电商最头疼的是什么模块?订单?支付?都不是,是库存!

为什么?因为库存是多读多写的场景,是整个性能的瓶颈!

对于天猫来讲,商品虽然多,但是每一件商品的库存都是可以统计出来的,而且任何一个商品销售的时候,并不会影响到其他的商品库存,用户每买一个商品,这个商品库存就相应的减少1,到减少到0的时候,库存就没了,别人也就买不到了。

对于12306来说,火车上的座位就是它的商品,但是卖一个他不一定少一个。

咱们举一个简单的例子,一列火车从A到E有五个站点。

如果一个乘客买了A-B的车票,到B站之前,这列车的SKU减1,B站下车后,这个SKU又回来了,如果他买了A-E的车票,那么这个SKU就完全没有了。

如果在没有控制策略的情况下,就意味着,SKU是随时发生着变化的。这样一来,每有一张火车票卖出,系统就要执行复杂的运算,来重新定义SKU和库存量,但实际上12306的运算系统可能还远没有这么简单。

除此之外,12306会按照以往的数据经验,对车票进行预演算,在不同的区间之间按照一定比例,先将票的库存计算出来,然后出售。按上面的例子来说,从A到E的五个站点,会有A-B,A-C,A-D,A-E,B-C,B-D,B-E,C-D,C-E,D-E这十个区间,每个区间都会分配库存,一般A-E这个区间留的票是最多的。

在保证上亿次余票查询运算的情况下,还得核实身份信息,黄牛套票,恶意刷票抢票,退票,退钱,各种验证,还得保护隐私等等,面对海量的用户和请求,能保证访问正常,12306的技术其实也不算垃圾了。

每到春运总被骂,12306的技术水准真的比不上淘宝天猫吗?_第3张图片

其实仔细想想,12306被骂与软件好不好真的没有关系。

如果12306没有解决技术问题,你买票的时候会发现卡了几分钟,然后票没了,你会问候一下他老妈;

如果12306解决了技术问题,你买票的时候会发现不卡,点了秒进,但是提交订单后,票还是卖光了,你依然要问候下他老妈。

铁路运力不能满足春运需求,这个根本问题解决不了,12306依然要被骂。

你可能感兴趣的:(每到春运总被骂,12306的技术水准真的比不上淘宝天猫吗?)