最近几天12306抢国庆回家的票,因为网站进不去而没抢到。本想吐槽一番,但是自从上次在知乎上看过12306的技术难点之后,也觉得可以忍受。
12306高并发是一方面,最主要是票是唯一的,个人觉得难点在于数据的唯一性。
你觉得12306可以从技术上或者策略上进行优化,虽然抢不到票,但是保证网站不至于挂掉,让买票的人很着急。
最近几天12306抢国庆回家的票,因为网站进不去而没抢到。本想吐槽一番,但是自从上次在知乎上看过12306的技术难点之后,也觉得可以忍受。
12306高并发是一方面,最主要是票是唯一的,个人觉得难点在于数据的唯一性。
你觉得12306可以从技术上或者策略上进行优化,虽然抢不到票,但是保证网站不至于挂掉,让买票的人很着急。
1,一张票出来是经过很多接口的,比如公安,有的接口并发不高,这一块也并不完全是票务的问题,有一个瓶颈卡住了,大家都完蛋,释放不了,有时候实在不行,赶快改代码屏蔽部分接口。
2,票里面也有很多算法,不是简单的唯一性,票在变化中,上海到北京的票卖了南京到徐州的,会变成3段,很多缓存技术并不好用,
3,也许大机是一个方向,ibm说你们交我们做吧,你们养不起这么烧钱的团队。
4,尝试过高端小机,128G内存,oracle优化,命中率在95以上,当然参与的那个实验项目只有少数几条线,并不能完模拟高峰时的环境,但是也抗住了某年的春运
5也许像淘宝横向、纵向分表会好点儿
前端无非是适当优化之后增加带宽,增加服务器。
后端的缓存是重点,只有让大部分查询都命中缓存,才能减少数据库的压力。如果数据库压力依然很大,可以考虑把逻辑关联较小的数据库/数据表,分离到单独的服务器。