当前位置: 首页 > 技术落地

双11电商平台上百亿流量依然畅通无阻,为什么12306每年都会崩溃?

时间:2024-02-29 21:49:21 技术落地

可以毫不夸张地说,12306在春运期间需要面对的运维难度和数据压力远远超出了双11期间各大电商平台的比较。

事实上,十个双11的流量和算法压力可能是相等的。

这只是一个春节假期。

下面我们来详细分析一下。

1、商业模式的巨大差异。

对于电商平台来说,即使双11的流量再大,也只是纯粹的线上生意。

所有用户都在APP或网页上。

下单,这个数据是一个闭环; 12306分为线上和线下两部分。

要知道,春节期间回国的很多人都不会选择在网上买票,尤其是很多外来务工人员人,很多人都因为不知道如何去火车站而排了一夜的队。

使用在线支付流程。

也就是说,我们是在火车站售票处和自动售票机购买的。

毫不夸张地说,12306正处于春运期间。

其运维难度和需要面对的数据压力远远超出了双11期间各大电商平台的比较。

事实上,十个双11的流量和算法压力可能无法与春节相媲美旅行高峰。

下面我们来详细分析一下。

1、商业模式的巨大差异对于电商平台来说,即使双11的流量巨大,也只是纯粹的线上生意。

所有用户均在APP或网页上下单。

该数据是闭环的; 12306分为线上和线下两个部分。

要知道春节回国的人很大一部分都不会选择在网上买票,尤其是很多外来务工人员。

他们中的许多人因为不知道如何使用在线支付流程而不得不在火车站整夜排队。

也就是说,我们在火车站售票处、自动售票机购买的每一张车票也将被纳入整个12306数据系统中。

从商业模式来看,12306的运营难度远大于各大电商平台。

2. 12306更加不确定和不可预测。

对于电商平台来说,双11期间的活动其实很早就开始了。

大量用户提前领取优惠券、红包、押金,商家也会提前锁仓补货。

说白了,双11期间的成交额大部分是在电商节前的一段时间内预测的,双11当天才完成结算; 12306 的情况并非如此,因为我们永远无法预测有多少。

那天人们会去哪里?例如,如果您是从北京漂流到北京的南京人,春运期间如果无法购买从北京直接到南京的车票,但为了及时回家,您可能会选择乘坐公交车从北京到天津,再从天津返回。

南京;您也可以先乘坐汽车到济南,然后再从济南返回南京;您甚至可以乘飞机到上海,然后从上海乘巴士返回南京等。

12306需要随时接受任何人的随机行程和路线变更。

可以说,春运期间,12306要面对全球最随机的用户意愿和最复杂的路线变化。

3、业务流程带来的负担不同。

对于电商平台来说,用户要做的操作无非是浏览、比价、下单、物流、收货、售后。

即使第二天货物到达,平台仍有24小时的处理时间,数据处理压力相对较小。

现在普遍采用的异步处理方式进一步减轻了电商平台的压力。

也就是说,在没有次日达承诺的情况下,平台可以在用户付款后慢慢处理物流订单和售后服务。

就像你想一边烧水一边看电视节目一样,可以先把水烧开,然后再打开电视。

而12306则需要在第一时间一次性处理所有用户订单、选座、支付、锁票、出票等操作。

没有缓冲区,需要面对庞大用户群的随机流量。

如果1亿用户同时在线需要4步才能完成交易,电商平台可以逐日逐步处理,每一步解决1亿流量,慢慢完成任务;而12306需要快速直接处理4亿流量。

4、库存管理的计算有很大不同。

对于电商平台来说,交易商品的库存无非就是增、减、查、修改四种操作。

如果用户付款,则库存减1,如果用户退货或者商家补货,则增加1。

算法简单;而12306则需要处理用户随时随地的上下车操作。

该算法是如此复杂,以至于令人沮丧。

以北京至上海的高铁为例。

北京和上海之间有21个小站。

12306需要计算用户上下车的所有可能性:如果你买了一张从北京到上海的车票,那么沿途所有车站的库存都减1;如果购买北京至天津的机票,则北京至天津的机票减1,天津至上海的机票不变;如果购买了天津到徐州的机票,那么北京到天津的机票减1。

机票不变,天津到徐州的机票减1,徐州到上海的机票保持不变不变;而且我们还忽略了一个非常常规的操作,那就是补票。

车上每一次线下补票也需要尽快完成。

进入系统进行计算和重复检查。

换句话说,我们对个人行程的每一个微小调整都会对整个行程产生影响。

每开出一张罚单,12306都需要完成大量的计算。

看完这篇,你应该知道12306每天面临的算法有多么可怕吧? 5. 流量基础截然不同。

很多人认为双11是我国互联网流量的高峰时刻,其实不然。

如果单纯比较流量的话,恐怕任何一家公司的任何业务都是12306面前的小弟。

对于电商平台来说,大多数用户不会重复点击。

如果抢不到货,再点击几次就会退出页面。

然而12306却不是这样,几乎所有用户都会实时刷新界面。

每次A刷新都需要12306跑遍所有数据库,进行海量的数据交换,同步剩余的票证信息。

更何况,使用抢票软件的用户有很多,而抢票软件的工作原理就是用一台机器不断读取12306数据接口。

一个软件可以在一秒钟内完成数百甚至数千次刷新。

一个人使用该软件可能会造成数千人同时刷新的数据压力。

目前国内各大抢票软件的用户基数已达千万级,足以消耗春运期间数百亿的数据流量。

到这里,大家大概就明白12306每天的负载有多大了。

全球还没有任何一个国家或企业完成过类似我国春节的百亿级实时交易流量挑战。

其实,真的没必要责怪12306,因为它真的每一天、每一秒都在“拼命”。