原标题:支付宝一天成交额超亿网络和系统都没问题,12306却不行?
只是用支付宝和12306比较,其实是不恰当的。12306的逻辑复杂程度远远高于支付宝,所以我们先换一个思维吧
因为12306的商品库存和品类是不断动态调整的,而淘宝天猫上的SKU是相对固定的。
对于支付宝来说,只要是固定品类,其实都容易处理,不过是数据库里面一行或几行代码。唯一要处理的就是商品的库存和价格。
但是对于12306来说不一样啊。我们就以京九线、京广线来说,每个乘车区间都能卖票,如果卖掉了天津到蚌埠的一张票,那么北京到广州的票、天津到广州的票、北京到蚌埠的票都少了一张。那数据库就接着算吧。
那么如果同时出现10万笔交易,数据库的处理数量绝不是十万这个量级,保守估算乘以二十(诚意每条线路的站点数量)也不过分吧?
如果加上退票、改签、同一人跨区间买票、同一时段重复购票、防止黄牛炒票等问题……难度能跟淘宝上那种商品卖一件少一件的东西一样么?
系统压力
根据来自官方的数据,12306网站PV(页面浏览量)目前每天都超过400亿次
这些做企业管理系统的,如果使用的人多了,比如为一家大公司部署OA系统,按一个省公司1000人计算,全公司30万人估算,已经需要考虑十几台负载均衡、分布式缓存、数据库优化、工作流优化等技术,因为要避免工作流的死循环或者写入数据出错,某个状态位错误。
这种压力下,我们的OA系统的PV也不会超过2000万每天,跟12306每天400亿次,还相差了99.95%。反正是没有勇气去批评12306。
容错程度
这种做企业管理系统,就算偶尔因为系统架构调整、数据库升级、黑客入侵、版本更新乃至软件错误导致某一个公文、某一笔报销弄错了,在当事人提出问题后,我们改回来也就算了。
在12306上,你好容易抢到一张春节回家乡的票,然后过20分钟有个工程师打电话给你说抱歉先生,因为我们数据库故障,您购买的票无效,请您重新购票的时候,你会不会用尽所有力气问候12306的服务人员、工程师、铁总?肯定会啊。
所以12306的容错程度是零。不允许犯错。
防止刷票
现在有多少软件是在云端每隔6秒跑着轮询?目前的测算是每秒查询数据库40万次-50万次;而对数据库的每次查询过程中,数据库还必须给出实时数据,以便于我们买票。
这个难度,你就看小米每次在抢购的时候,一开始是实时显示所有余量,后来压力实在扛不住,只有在最后1000台的时候才显示余量。小米是认怂了。
我们早就认怂了,我一般都是专门提供一台查询服务器,提供非实时的数据,供查询的数据每天更新两次。
每秒50万次查询,还要返回真实数据,反正让我做,我就认怂。问我多少钱能做,我觉得20个亿以下,我想都不敢想。
跟支付宝的难度差得太多了,不是一个数量级。手机的应用领域越来越广泛,我们利用它来存储数据文件,信息等,如果手机意外误删了手机存储的文件,可以利用“手机数据恢复精灵”来恢复。