每到小长假必聊12306
2021-05-07 本文已影响0人
梅西爱骑车
五一小长假,火车票售卖又到了一个高峰期,而12306像往年一样又出现了宕机的情况,无法提供服务,不禁引起了广大网友的吐槽,不少人认为,同样是架设在阿里云上的服务器,为什么12306经常会宕机,而双11阿里每秒钟50多万笔订单,都没有宕机,这究竟是为什么?
非典型流量
这其中有一方面的原因是因为12306和普通的电商有本质的区别,因为12306除了线上订单以外,还要兼顾线下订单所形成的数据,包括一条线路各个站之间的最优售票计算,各个站点的余票量计算,业务非常复杂,而且其日常活跃用户较大,每天都极不稳定,不像双11一样有一个稳定的目标,可以针对性的进行扩容,或者说增加资源来平衡流量,达到稳定提供服务的效果,而火车票售卖系统就没有这样稳定的客户需求,每天的客户流量也无法确定,自然无法制定针对性的扩容方案,而且一些用户在买火车票时会进行多次查询,这无形中也会增加其网站的承受能力,高并发再加上复杂的业务,难度已经远远超过电商购物场景,宕机也是难免的。
黄牛党
另一方面也是因为购买火车票会有很多黄牛党(包括很多第三方抢票系统),他们会使用一些性能极高的计算机进行毫秒级的刷票,这些请求基本已经超过了正常人类的请求频率,这些非正常用户的刷票请求也会占用很多12306服务器的资源,同时可能导致宕机,尤其是在节假日高峰期表现最为明显。
想要从根本上解决这种情况,首先要从技术角度出发,研究出能够承受更多并发的架构实现,其次也要从制度上面去限制一些黄牛党的刷票行为,只有这两架马车齐头并进,才能够为有正常购票需求的旅客提供更好的售票服务。