美文网首页
浅论12306网上购票系统的设计

浅论12306网上购票系统的设计

作者: 机智的Harbor | 来源:发表于2018-05-24 09:21 被阅读62次

12306可以说是一个成功型的案例。

你对他不好的印象是来自于12306刚出来那年,抢火车票导致各种崩溃,加载不出来,特别难辨认的验证码,还要安装什么安全的证书。

后来几年12306做了重大的底层技术变革,但是网页UI并没有换(关于UI这个东西,更换UI对用户来说是有学习代价的,尤其12306是一款面相全国人民的网页和app,UI是不能随便换的)

所以你就会理所当然的认为现在的12306还是以前的12306,非也,现在的12306每天能扛得住30亿次查询请求。

通过官方的网页、铁路12306 app、携程、去哪儿、超级火车票,还有各种民间程序员写的抢票工具等等,包括各种浏览器插件不停的刷新抢票。还有人嫌弃自己不是下铺,也要刷刷刷,改成满意的为止。

有一张火车票被退了,其实这张票只是一个区间,比如西安始发,到北京终点这张票被退了,这样按道理来说中间任意经停站到任意经停站都可以买票,等等,会有很多意想不到的需求,包含各种奇葩的组合

综上所述,其实12306的业务逻辑远比淘宝这样的电商要复杂很多

需求分析、系统设计不仅要考虑到全国各省的情况,还要考虑窗口买票,电话买票不受互联网购票的影响。

毕竟在窗口查出一张票,在用户决定买它之前,这张票不可能被互联网购票的人给抢了。也就是说互联网购票在票源稀缺的情况下,和窗口电话购票相比是没有优势的。

互联网购票之所以会失去优势,主要原因就是12306购票系统为了支持每天大量的查询请求,把票数的缓存时间调整的极长,笔者目测可能5分钟都不止。

简单说就是现在西安去北京的票是0张,突然有人退了票,这时2个人,一个窗口订票,一个互联网订票。

互联网订票的人刷新发现还是0张,当然他也是不停地刷新,但是得到的是旧的缓存信息

窗口订票的人花了5分钟时间排队,等到他的时候,互联网订票的人刷新出来了一张余票,他点击购买,选乘坐人,提交订单的时候,窗口排队的人也在售票员那里查到了一张余票,这时候互联网订票者提交的订单会失败,窗口订票的人会成功买到这张宝贵的票源。

然而这个故事还没有结束。在窗口购票的那个人开心的拿着自己的票走了之后,互联网购票的人回到票源查询界面刷新发现还是有一张余票,他看到的还是旧的缓存,点击票源会收到不是最新票源的提示,直到5分钟之后,票源会再次变为0。

简单的来说,12606就是这样设计的,从此春运再多人抢票也不会导致网站直接崩溃,大不了就是余票为0喽。

参考资料:http://network.51cto.com/art/201401/427406.htm

相关文章

  • 浅论12306网上购票系统的设计

    12306可以说是一个成功型的案例。 你对他不好的印象是来自于12306刚出来那年,抢火车票导致各种崩溃,加载不出...

  • 又到疯狂抢票的高峰期,用python写一个简单的12306抢票软

    引言 每逢过年就到了12306抢票高峰期,自己总想研究一下12306购票的流程,虽然网上已经很多资料,但是总比不过...

  • python-自动抢票代码

    首先附上github地址 https://github.com/wlz78096/12306 12306 购票小助...

  • 寻医上海

    等赶到上海站,用12306网上购票时发现有余票却购买不了,最终到购票终端只买到6点的车票。 过一会又收到赖...

  • 网上购票

    网上抢购火车票,跳出两三个车次,选择适合自己的最早的班次,出来的却是最晚的班次。于是点退票,退票的短信发过来,一看...

  • 关于12306候补购票的一些内容

    一、候补购票概念: 火车票候补购票,指的是12306平台的一种购票服务和方式。若旅客遇到车票售完的情况,在1230...

  • 火车票抢票经验小记(2015年起)

    【购票方式】1、火车站售票窗口2、火车票代售点3、电话订票4、网络订票 【网络购票方式】1、12306官网购票2、...

  • 47.测试运行以及完整代码

    测试运行以及完整代码 学习目标 了解 购票的整个逻辑 6.1 测试运行 执行12306.funk12306.py,...

  • 2018-01-02

    12306微信服务,便利不仅仅是一点点 以往在12306网站购票...

  • 12306 余票检测软件

    根据日期,始发站,终点站,车次等信息检测 12306 是否有余票 一、实现方式 给 12306 购票网页注入脚本,...

网友评论

      本文标题:浅论12306网上购票系统的设计

      本文链接:https://www.haomeiwen.com/subject/vayjjftx.html