降低服务器的压力,才是根本的解决之道——我也谈谈12306

本文探讨了12306购票系统在高峰期面临的挑战,特别是由无效刷票行为导致的服务器负载问题,并提出了一种基于服务器推送通知的解决方案来减少服务器压力并改善用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先拿12306和google做个对比

google在全世界大概有百万台服务器,每天的访问量大概是50亿多。(更新下数据,之前的数据有误,参考http://www.statisticbrain.com/google-searches/)

12306在春运这2个月的访问量是多少呢?按运输36亿人次算,肯定是不对的,因为每天有大量的刷票,5秒一次,毫无意义的刷票,2个月下来,12306肯定是这个世界上最繁忙的网站了,12306负载了天量毫无意义的请求,这和ddos攻击很类似的,最奇葩的是12306居然对此支持!

软件优化最好的办法是在满足需求的同时,让计算机做最少的事情。防止用户刷票,同时又能让用户买票,才是最根本的解决办法。

用户为什么刷票?

买不到票,查了一次没票,在刷一次,看看是否有退票的。我们可以换一种思路,让服务器推送通知呢?

比如,我想买2014-01-28日K111的火车票,一查,没有。好,我预订那些退回的票,当有人退票时,服务器通过一种随机算法(也就是摇号),把票卖给预订票的人,再通过短信、邮件、app或者客户端软件通知他,让他付款(或者他已经把预付款交了)。

这样就没有人刷票,服务器的压力可以减到最小,比神马优化效果都好。

转载于:https://my.oschina.net/lbp0200/blog/197271

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值