腾讯|12306买不到票,黄牛却一大堆,说明了什么?

腾讯|12306买不到票,黄牛却一大堆,说明了什么?

文章图片

腾讯|12306买不到票,黄牛却一大堆,说明了什么?




12306 这个软件花费了3个亿 , 很多人说 , 这个软件界面如此简陋 , 还经常崩溃 , 居然要花费3个亿 。
但是大家可能不知道 , 中国最牛的软件系统就是12306 。 大家可能以为12306随便搜索一下 , 几趟车就显示出来了 , 但这背后的计算是超级复杂的;它得根据余票、起止站、身份信息等寻找合适车次 , 毕竟全国所有车次都得知道 , 而且还要与各车站售票系统连接 , 以免出现因为数据时差问题 , 导致买到一张早已售出的车票 。

【腾讯|12306买不到票,黄牛却一大堆,说明了什么?】

12306还要在15分钟内完成交易 , 并且未售出的票 , 要尽快回到系统余票库 , 大家要知道 , 在同一时间内全国起码有百万人同时在购票 , 12306要实时调动数据 , 以防止购票人买到相同的票 , 除此之外 , 还需要计算卖票之后如何分配下一段区间 , 以及 线上购票和线下协调相的问题 , 也就是说线上出了一张票 , 线下售票系统也要能够做到实时更新;

这还是在有上亿人同时点开12306(春运)查数据、预防黑客、拦截恶意刷票软件、每年多次调图、有新线加入的基础上的;



另外 , 大家要知道 , 12306只是一个前端 , 后端还是要接入铁路原有的售票系统的 , 而12306崩溃 , 其实是前端崩溃 , 或者是前端排队人数太多 , 排队崩溃 , 但是真正负责出票的售票系统是没有崩溃的 , 仍然以每秒几百到上千张的速度出票 。 大家线下购票的车站窗口 , 是直接接入这个售票系统的后端 , 所以很少会崩溃 。

12306还有一个高负载导致崩溃的原因 ,
是查询量 , 12306每天要处理庞大的查询量 , 这里面还有很多是无效请求 。
2020年春运数据 , 一天1495亿次 , 每天就算18个小时 , 平均每小时83亿次 , 每秒是230万次 。 但是请注意 , 这是平均数 , 大家抢票都有个集中时间段 , 比如早上8点放票 , 那这个时间段的流量可能是10倍于平均流量 , 那就是2300万次 。 如此庞大的查询量 , 对于软件的承载力是一个非常大的考验 , 这对于技术架构的要求非常高 。



我们都知道 , 网站发生瘫痪主要因为过多的http请求导致的服务器过载 , 而电商网站为此会采用分布式数据处理的技术手段 , 但12306显然是无法这样做的 , 因为这是实时数据 , 需要实时处理 , 其需要的技术架构 , 对于用户量极大的火车票客票系统来说 , 3.3亿的投入也并不算多 。
这不只是靠堆服务器就能解决的事情了 , 一个优秀的架构设计就非常关键 , 需要设计非常复杂的分布式机制和多级的缓存来保障服务稳定运行又不会出现异常 , 与此同时还要进行各类安全风控等等 , 最后12306是清华和铁科一起搞的 , 某公司并非核心作用 。

做一件大好事 , 除以14亿就是很小; 做一件小坏事 , 乘以14亿就很大 如果发生一例买票出问题情况 , 那发生的连带效应 , 是难以估计的 。