能让无数人回家的12306,一个卖票软件,还能吊打马斯克的系统?

五一长假即将来袭,我们的老朋友12306又要榜上有名了。

能让无数人回家的12306,一个卖票软件,还能吊打马斯克的系统?

一到这个时候,各种抢票攻略就呈井喷式的出现了

但教程再多,也抵不过人多手杂

经过三年的沉寂,买票又成了大热门。

能让无数人回家的12306,一个卖票软件,还能吊打马斯克的系统?

不少人在社交媒体上吐槽12306的车票比顶级idol的握手票都难抢,虽然说这是实打实的“困境”,但放眼全世界来说,多少有点凡尔赛了噢。

能让无数人回家的12306,一个卖票软件,还能吊打马斯克的系统?

这么说可不是我为了12306挽尊

而是12306的厉害程度远超乎我们的想象

虽然它偶尔“瘫痪”

但它的系统绝对是可以站在世界巅峰睥睨天下的。

能让无数人回家的12306,一个卖票软件,还能吊打马斯克的系统?

就在同色系的谷歌为了日访问量56亿人抓耳挠腮时

12306已经开始操盘将近1500亿次日访问量的大买卖了。

咱们中国人口多是众所周知,但估计没人能想到每年光卖票就要卖出30亿张,当然卖了30亿张,中国铁路该赔还是个赔。

能让无数人回家的12306,一个卖票软件,还能吊打马斯克的系统?

不过这就是题外话了,我们暂时按下不表,有机会再聊。

但我估计这么说大家还是没啥概念,那就拿某宝来做个例子吧。

某宝双十一的时候用户大概有5个亿。

能让无数人回家的12306,一个卖票软件,还能吊打马斯克的系统?

1500亿次点击量也就相当于这五亿用户在同一时间点了300次刷新,想想就恐怖。

怪不得铁路工作人员都自嘲

“我们12306那是天天双十一,日日被抢购。”

这么高的点击量,12306也只不过崩了几次,实属不易。

能让无数人回家的12306,一个卖票软件,还能吊打马斯克的系统?

但是12306可不是仅仅靠着庞大的点击量,就可以被叫顶级APP的

更厉害的是他卖的票太多

而且非常复杂。

我们还是以某宝为例,电商世界里,每一个货物都对应着一个叫做SKU的号码。

能让无数人回家的12306,一个卖票软件,还能吊打马斯克的系统?

某宝是一件货卖掉了就卖掉了

系统就可以直接把这个SKU码清走

减轻流通压力,保持运转。

但火车票不是这么个逻辑,一条铁路上有无数个站点

于是就产生了无数的分段票,也就相当于一条铁路随时会产生无数的SKU码

基本上一趟车,就能产生几万个SKU码。

能让无数人回家的12306,一个卖票软件,还能吊打马斯克的系统?

12306的系统要在这些庞杂的SKU中

精准地找出乘客所需要的路段,进行分配

不能重复,不能出错。

如果有退票的乘客,那就要把这SKU码物归原位,接着售卖。

能让无数人回家的12306,一个卖票软件,还能吊打马斯克的系统?

而这一切,要在一秒之内结束战斗

不然乘客就要骂街了。

不过12306没在怕的,它不仅给你安排路段

还给你安排自己喜欢的位置,属实卷网之王了。

能让无数人回家的12306,一个卖票软件,还能吊打马斯克的系统?

除了是个卷王,12306还是个抠王

在最开始诞生的时候,12306压根就没有专业大牛

那时候就纯一腔热血,想靠着科技改变人们抢票难的困境。

能让无数人回家的12306,一个卖票软件,还能吊打马斯克的系统?

但它实在是太低估了大众对于

不用拎着马扎子蹲守就能买票的渴望了

2010年春节,12306刚上线,就被人们抢崩了。

好家伙,当时骂12306的人

比抢票的都热闹。

能让无数人回家的12306,一个卖票软件,还能吊打马斯克的系统?

可12306头铁啊,就不信邪,第二年又来了这么一出

果不其然又是铺天盖地一通骂。

这次把12306骂老实了

专门掏钱来请专业人士干活,当时竞标的都是惠普、思科这种大厂

但12306又犯倔了

从犄角旮旯里把太极和同方揪出来了。

这次,大家照骂不误

都在问,你这不是放着博士不用去用小学生吗?

但很快大家就知道这是为什么了

因为12306穷啊,满打满算一共3.3个亿,再要也没了。

对于大厂来说,3.3亿是他们的底线

但是对于12306来说,3.3亿是他的最上限。

不过抠归抠,12306的眼光是真毒,一眼就看出来“小学生”是个少年天才,12306技术部主任单杏花领着一帮子大学生

能让无数人回家的12306,一个卖票软件,还能吊打马斯克的系统?

把系统搞得那叫一个地道,外国是拍马都追不上。

其实12306为什么这么牛逼

那是因为它的系统有两个“大佬”坐镇。

第一个就是我们前文提到的接纳近1500亿的点击量的问题,它是由三层负载均衡来合力疏通的。

第一层就是OFPF,它一般是用来连接cost值的

基本上运用得当,它可以六条线并行处理

速度就大大提升了。

第二层就是Nginx,它比较常见

能让无数人回家的12306,一个卖票软件,还能吊打马斯克的系统?

大家电脑上偶尔也会看到这个词

它常用在各种服务器上,腾讯、网易的程序员也常用它来确保系统的正常运作。

再有一个就是LVS

这个多少有点复杂,举个简单的例子话,它就是一个集散地,可以把一些高频的故障直接扼杀在摇篮里,让它们不能出去霍霍其他的线路。

能让无数人回家的12306,一个卖票软件,还能吊打马斯克的系统?

这三个的运用,就能让12306井然有序的进行票务的分散,统一了。

它们算出要卖多少张票以后

接着就要稳定、高效的给它卖出去。

这个时候就会有人说,直接卖呗,想那么多干啥,但是要知道12306虽然是一个网站,但是它集合了全国大大小小的车站,这些车站之间很难顺畅的互通有无,万一卖超了票,怎么办?

能让无数人回家的12306,一个卖票软件,还能吊打马斯克的系统?

难道要让两个乘客打一架,看看谁能坐吗?

没有这个道理,所以这个时候12306就开始搞出另外一个大佬

预扣库存。

预扣库存是什么意思呢?

能让无数人回家的12306,一个卖票软件,还能吊打马斯克的系统?

就是你只要拍下票,那就把这个suk放入待定行列,其他人就不能买了。

要是没有在限期内付款或者退款了,那么它会重新流回票池

但是完成这个过程的前提是要确保所有suk都在一个池子里

所以12306又搞出了本地库存,直接存成文件,不占地方,不影响流量运行。

这两个大招打下来

12306足以抗住任何冲击,即使突然崩了一下

也能迅速修正过来。

其实我说了这么多,大家也知道,12306真的不弱,只是乘客太多了,偶尔有一次顶不住,希望大家能够给12306多一点时间,让它多发育发育才是王道。