五一峰值同样架于阿里云上的12306为何屡崩?

五一峰值同样架于阿里云上的12306为何屡崩?,第1张

这主要是因为12306作为火车票售卖系统,与传统的电商有着根本的区别。

宕机

2021年4月,临近五一,火车票售卖又到了一个高峰期,而12306又像往年一样又出现了宕机的情况,无法提供服务,不禁引起了广大网友的吐槽,不少人认为,同样是架设在阿里云上的服务器,为什么12306经常会宕机,而双11阿里每秒钟50多万笔订单,都没有宕机,这究竟是为什么?

非典型流量

这其中有一方面的原因是因为12306和普通的电商有本质的区别,因为12306除了线上订单以外,还要兼顾线下订单所形成的数据,而且其日常活跃用户较大,每天都极不稳定,不像双11一样有一个稳定的目标,可以针对性的进行扩容,或者说增加资源来平衡流量,达到稳定提供服务的效果,而火车票售卖系统就没有这样稳定的客户需求,每天的客户流量也无法确定,自然无法制定针对性的扩容方案,而且一些用户在买火车票时会进行多次查询,这无形中也会增加其网站的承受能力,宕机也是难免的。

黄牛党

另一方面也是因为购买火车票会有很多黄牛党,他们会使用一些性能极高的计算机进行毫秒级的刷票,这些请求基本已经超过了正常人类的请求次数,这些非正常用户的刷票请求也会占满12306服务器的资源,同时导致宕机,尤其是在节假日高峰期表现最为明显。

想要从根本上解决这种情况,首先要从技术角度出发,研究出能够承受更多并发的框架,其次也要从制度上面去限制一些黄牛党的刷票行为,只有这两架马车齐头并进,才能够为有正常购票需求的旅客提供更好的售票服务。

12306在2017年时用的华为服务器。根据查询相关公开信息显示华为宣布中标中国铁路总公司12306订票热线系统建设项目,并已于2017年下半年完成系统平台安装部署并开通使用,为未来全国用户在线订票提供全天候热线服务。

问题出现在以下:
第一个特点就是并发非常高。
根据官方数据显示,12306网站PV(页面浏览量)目前每天都超过400亿次,这个数字远远高于淘宝双11时同时访问的人数。因为,除了有真正购买需求的全国网民之外,同时还有机器人、订票机器在大量的进行刷新,并发次数非常高,包括优化数据库访问、分布式、缓存、负载均衡等技术挑战摆在眼前,都无法解决服务器高负载的问题。
第二特点就是峰值不均匀。
想必大家都体验过,临近年跟,摩拳擦掌准备好高速网络同时在页面和手机APP上进行手动刷票,但几乎就在一瞬间,有座的没座的,车票早已售空。比如,涉及到河南、安徽、四川、广东等地的火车线路时,基本每一个订单都会被疯狂抢购,峰值极为不均。
相比淘宝双11来说,某些爆款页面因为服务器上突然产生高流量负载,出现了暂时无法响应或下单失败的情况仍是少数。
另外一个特点就是SKU。
SKU即最小管理库存。在淘宝双11时,多数人都经历过当天下单,但往往不会当天发货而是高峰过去之后再发货的情况。这也就是淘宝SKU数量的问题,也就是说,出售一款产品,目前现存1000件,但同时2000人下单时,商家可先出售1000件,再随后补货上架。也就是说实际的SKU数量是2000甚至按照客户订单来完成的。
而火车票,因为订票实名制,分配座位都是对号入座的。每个时段每趟车次每一个座位,系统只能售卖一张。而实际上,无论你是不是身处春运高峰时期,全国13亿人次庞大的流动需求,迫使你购买的火车票最小库存SKU永远只有1个。
实际上,在互联网售票之前,网点售票已实施多年。也就是说,在铁路售票系统内部也是个庞大且复杂的跨地域系统进行支撑,包括涉及的业务逻辑、软硬件供应商、版本与维护协议等方面。
因此,有着严重历史包袱的12306,在诞生之初并非是为了重构原有的售票系统,更多是为了缓解当时日益紧张的售票系统压力,首先仍是原有的系统上做web前端。这才是根本上的问题。

现在这个 社会 是 科技 化的 社会 了,黄牛抢票已经不是10年前锁个小板凳在西站售票窗口的年代了,现在的 社会 已经进入互联网、移动互联网的时代,再过个3-5年,我们说不定就会进入人工智能AI时代,12306的黄牛如何抢到票,这得从12306是如何售票的角度来了解。

12306售票系统有成千上万台服务器组成,每个人在买票时,买票的请求信息会经过下面这几个阶段(程序员比较懒,不想画图,实际情况比这复杂的多):浏览器提交->网络传输->路由分发->12306服务队列排队->12306服务出票->返回订单信息给客户。我们知道,在任何阶段慢,我们基本就抢不到票了,春运的票基本是在0-05秒就被抢完了。

首先:如何解决浏览器提交慢?

12306的网页提供了5秒会自动向12306服务器提交一次请求,这种方式很难抢到票,即使抢到了,也是瞎猫碰见死耗子。05秒内票都售完了,官方提供的5秒刷新的方式基本没戏,我是从来没用过这个功能。黄牛为了解决这个问题,他们使用软件(具体软件名称可以找度娘,很好找,有免费和收费模式)来模拟浏览器的行为,这样就解决了浏览器提交慢的问题。
其次:如何解决网络传输、路由分发等传输环节慢的问题?

我们家用宽带通常下行(下载)速度较快,但是上行速度较慢,而且小区的一根光纤是一栋楼在使用,如果别人在下载文件(如下载**,尤其是BT下载,下载时又在上传,严重影响网络速度)就会影响你提交购票订单的请求速度,所以家用的网络不太稳定。而黄牛使用的基本都是专门的光纤、甚至使用的是专线网络,带宽是有足够的保障,而且他们能够检测出到12306服务的最近网络路由信息,这样使提交的订单信息能够从最短路径提交,快速进入12306服务队列,当然能够更大几率抢到票了。
最后:12306防刷票软件策略是什么?

通常是根据购票请求的ip地址请求次数,但是黄牛的固定IP地址是非常多的,他们会采用代理的方式,依次使用不同的ip地址来提交请求,从而很容易绕开12306的防刷票策略。有时候我们在公司突然打不开12306网站,很有可能是公司有其他同事使用了刷票软件,同一个公司的出口IP通常只有2-3个,频繁的刷票导致出口ip被12306禁用掉了,通常会被禁用一段时间就解封。这个策略很多网站都在用,用工具频繁给百度发请求,百度也会禁用你的ip。

从大体上说了黄牛是如何抢到票的,归根到底还是黄牛的硬件资源好、网络好、刷票软件提交请求速度快。所以2019年上线的“候补购票”功能,基本可以控制黄牛利用刷票软件来抢别人退的票了,因为这些票在12306内部消费,不给刷票软件机会了。

希望大家都能抢到回家的票^__^
主要两点

1、独立千M光纤

2、用全自动软件,自动识别验证码
随着 2018 年即将过去,这不仅意味着 2019 年即将到来,同时也意味着一年一度的春运抢票大战即将上演。
十几年前,想要买一张过年回家的票是多么的困难,在那个年代,既没有高铁,购票方式还非常单一,许多人为了买一张火车票只能选择凌晨披星戴月的在火车站售票窗口排队,为的就是等待火车票发售瞬间以最快速度锁定一个回家的名额。
比较冷门的路线竞争压力没有那么大,一般也能顺利买到票,但是在热门路线上,那就不是一个公平的拼效率的赛场,因为你会发现,在队伍最前面的往往都是那些成群结队的黄牛,他们很快就会将票一扫而空,因为没有实名认证,转手就能开始坐地起价的进行叫卖。
▲图自视觉中国
▲12306

这种改变甚至对黄牛这原来立足地下的产业发起了冲击,形成了一个有层级的金字塔结构。

控制产业上游的是那些巨型黄牛,这类黄牛有着名正言顺的身份—各类大型的抢票软件,一般由各类大型互联网公司开发,通过技术手段去优化人工抢票的流程:由于旅客在12306 买票时,每一次 *** 作都是在请求一个接口。查询、下单、支付构成一次完整的购票 *** 作。而目前市面上的第三方抢票平台就是用服务器定时对这些接口发送申请,以达到刷票抢票的目的。
这一类黄牛其实在大众心目中已经不能算是黄牛了,因为基本上大家都会去用,不说是否真的能提升抢票几率,但就不需要你去挨个点击 12306 那反人类的验证码这一点就已经足够了。
而另外一些则是我们口中的黄牛,基于 12306 抢票成功率的高低取决于投入多大的服务器资源这个前提,这些票贩子拥有着高度定制版本的抢票软件和最优秀的网络条件以及各种各样的身份z,不仅可以同时登陆多个账号,而且访问速度也是最快的,所以在抢票方面拥有得天独厚的优势。

这些黄牛抢票的 *** 作逻辑是这样的,一方面有预订的顾客他们会提前安排好,直接用他们最先进的这套抢票系统去抢票,另外那些多余的票,则用技术手段让它们处于一个锁定的状态,一直牢牢攥在手里面。
这里利用的就是火车票购票—付款—退票机制的漏洞,先把火车票进行占座锁定,然后车票会有45分钟的支付时间。黄牛等到车票超时未支付后让其重新回到余票中,然后再利用自身的优先资源抢过来就好了。换句话讲车票其实一直是处于一种流动的状态。直到有人前来购票,黄牛再加入乘客的真实信息,这样车票就抢到手里了。

虽然技术手段优秀,但是终究还是违法的,所以这一类黄牛其实数量不是特别多,但是的确对这个大的生态平衡产生了巨大的冲击。
这个「候补购票」是指当旅客遇到车票售完的情况,在 12306 平台登记购票信息支付预购票资金后,如有退票、余票,12306 系统将自动为其购票,其购票速度和成功率都要强于于抢票软件。从技术角度而言,这种方法正是应对黄牛锁票的解决手段,这些退票和余票的优先级发生改变之后,再优秀的网络资源也没有办法去做到优先拿票了。
当然,道高一尺魔高一丈,黄牛作为一个打不死的小强,势必也会发挥其「聪明才智」去研究其中的技术漏洞,反正这场战争未来可能会进一步进化,后面可能就是 AI 、人脸识别这些新技术发挥重要作用的时候了。
很多景区网上买票,不用取票,进门直接刷身份z,只限本人使用,不存在真票假票,这个方法是不是可以杜绝一些乱抢票现象呢。

直接使用身份z,不用车票,每张身份z只能买一张票,本人凭身份z上车,这样还能倒票吗?不允许更名倒卖,只受理退票业务,你即使买了车票卖给我,我也不可能拿着你的身份z登车。

买火车票怎样方更清请回

人家用的独立光钎,高速的那种,其次是他们会拿亲戚朋友身分证弄很多短程票,然后谁找他买票他把票退了,换上别人的号码买回来,这样就实现赚黄牛钱了,收100块良心价,200块都正常。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13508253.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-21
下一篇 2023-08-21

发表评论

登录后才能评论

评论列表(0条)

保存