互联网|12306背后的技术到底有多难?网友:不知道,但我会喷


据全路客票系统监控中心统计 , 12306平均一年售出30亿张火车票 , 什么概念呢?这些火车票首尾相接可以绕地球7圈 , 最多一天卖出1443万张车票 , 相当于每秒卖出一节车厢的车票 。 12306已经发展成为全球最大的票务系统 。
【互联网|12306背后的技术到底有多难?网友:不知道,但我会喷】互联网|12306背后的技术到底有多难?网友:不知道,但我会喷
本文插图

12306出现之前 , 在中国人的记忆中 , 买火车票需要排队在售票处等待 , 每年的春运买票难 , 几乎成为大部分外地打工者的噩梦 。 十年前 , 铁道部顶着重重压力 , 决心要解决线上买票这个全民难题 。 2010年春运首日 , 12306网站开通并试运行 , 2011年12月23日 , 网站正式上线 , 铁道部兑现了让网络售票覆盖所有车次的承诺 。
互联网|12306背后的技术到底有多难?网友:不知道,但我会喷
本文插图

12306之前车站春运排队买票场景
然而 , 网站上线第一天 , 全民蜂拥而入 , 流量暴增 , 网站宕机 , 404页面成为春运时期12306网站的常态 。 12306网站上线第二年 , 网站仍然难以支撑春运的巨大流量 , 很多人因为网站的各种问题导致抢票失败 , 甚至耽误了去线下买票的最佳时机 。 一时间 , 12306网站成为了全球骂声最多的网站 , 而铁道部也是一次次给12306改版、升级 。 这个出生的婴儿几乎是在骂声中长大的 。
互联网|12306背后的技术到底有多难?网友:不知道,但我会喷
本文插图


12306大型节假日日常性崩溃
2012年9月 , 中秋国庆双节来临之前 , 12306又一次全站崩溃 , 本来大家已经习惯了12306在重大节日来临前的日常崩溃现象 , 却被另一则消息触怒 。 这次崩溃之前 , 铁道部曾公开招标对12306进行技术升级 , 最终太极股份和同方股份以3.3亿元中标 , 对12306网站进行升级 。 铁道部解释道 , 3.3亿元已经是最低价吗 , 但是没人能听进去 , 人们只关心他长成了什么样 , 没人关心他累不累 。
从此以后铁道部就很少发布声明 , 直到2020年春节前公布的一组数据 , 12306被误解了10年的技术难题才逐渐被人们看到 , 数据显示在40天的春运售票中 , 12306最高峰网站点击率为1495亿次 , 相当于中国包括婴儿的所有人 , 每人每天访问了票务页面100多次 , 平均每秒点击量为170万次 , 这是个什么概念呢?我们先来对比全球点击量最高的网站谷歌 , 谷歌的日均点击量为60亿次左右 , 再看看在双十一当天淘宝的表现 , 淘宝在双十一当天的订单峰值约为每秒54.4万笔 , 即使全天维持峰值 , 订单量也不过470亿单 , 流量规模还不到12306的三分之一 。

上亿人口 , 40天时间 , 30亿次出行 , 12306之前 , 全球没有过任何一家公司或产品做过类似的网站 , 除了巨大的流量外 , 车票这种商品的性质跟一般的电商销售的商品是完全不同的概念 , 电商平台的网店是模块化的 , 电商销售的商品直接相互影响并不大 , 像淘宝、京东等购物平台在购买后有一定的准备时间 , 双十一当天只需要完成订单创建和发货就完事了 , 但是12306却不一样 , 12306每卖出一张车票 , 不仅要减少首末站的库存 , 还要同时减少一趟列车所有过路站的库存 , 简单来说 , 电商订单是独立的 , 而每一张火车票都是动态关联的 , 这就导致了12306系统背后的数据量、计算难度、架构复杂程度都会呈现几何倍数的增长 , 远高于社交软件和电商平台 。 传统的分布式数据库、负载均衡等技术都很难满足12306的需求 。
除此之外 , 12306还要面对抢票软件这种技术黄牛 , 他们通过每天放出无数个爬虫机器人 , 模拟真人登录12306网站 , 不间断的刷新网站余票并第一时间下单 , 曾经有人总结了一份《中国爬虫图鉴》 , 报告显示出行领域是互联网爬虫的重灾区 , 占比高达20.87% , 而在所有的出行爬虫中 , 有89.02%的流量是冲着12306去的 。


推荐阅读