问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

为什么耗资数亿的12306一直都非常难用?

发布网友 发布时间:2022-04-11 23:27

我来回答

1个回答

热心网友 时间:2022-04-12 00:56

点击上方“ CSDN ”,选择“置顶公众号”

关键时刻,第一时间送达!

眼看着春运高峰即将来临,你准备好抢票工具了吗?

11月23日,12306网站购票系统全面接入微信,至此,银行卡、支付宝、微信均可购买车票。

任何一个使用过网络售票系统的人都了解,12306的用户体验不是一般的糟糕,每逢春运,12306几乎都被推到风口浪尖上。充满乡土气息的界面,系统响应卡顿、延迟,每日长达7个小时的系统维护周期,奇形怪状的图片验证码,每天只能取消三次订单的强制规则??都使12306成为全国人民最为头疼的一件事。

用户体验如此之差

其实早在2010年1月的那个春节,12306网站便开通并进行了试用,结果,也就是在这个春运高峰时期,在全中国网民的高流量“点击”之下,12306网站出现了严重宕机。也就是从此时起,12306便开始了为人所诟病的历史。

2013年,12306网站改版上线,新版网站增加了自动查询、自动提交订单、有票提醒等功能,并开始对互联网购票进行身份信息核验。同时,12306手机客户端正式开放下载,并新增支付宝通道。

2014年12月,12306预售期由20天延长至60天。

2015年,12306关于购票、退票和改签时间的相关规定开始进行调整。

2016年,12306网站新增“余票动态信息栏目”,手机APP新增列车正晚点查询服务。

2017年11月,12306网站>

直到今天,12306仍在功能迭代和系统升级中持续的“缝缝补补”。

为何总要“缝缝补补”?

如果将春运售票与淘宝等电商平台“双11”订单业务挑战进行相比的话,前者在业务复杂性上更具挑战性,而后者更多的体现在业务规模上。

比如,乘客购买一张车票,理论上这一区间票会同时存在多个站点,而乘客每买一张车票,都基本上是不同区间车票的订单。如果再加上订票者的“学生”或“*”信息,选择上下铺、优选号等选择,那么无论查票、出票、支付等逻辑上,都要比电商平台上订单系统复杂得多。

第一个特点就是并发非常高。

根据官方数据显示,12306网站PV(页面浏览量)目前每天都超过400亿次,这个数字远远高于淘宝双11时同时访问的人数。因为,除了有真正购买需求的全国网民之外,同时还有机器人、订票机器在大量的进行刷新,并发次数非常高,包括优化数据库访问、分布式、缓存、负载均衡等技术挑战摆在眼前,都无法解决服务器高负载的问题。

第二特点就是峰值不均匀。

想必大家都体验过,临近年跟,摩拳擦掌准备好高速网络同时在页面和手机APP上进行手动刷票,但几乎就在一瞬间,有座的没座的,车票早已售空。比如,涉及到河南、安徽、四川、广东等地的火车线路时,基本每一个订单都会被疯狂抢购,峰值极为不均。

相比淘宝双11来说,某些爆款页面因为服务器上突然产生高流量负载,出现了暂时无法响应或下单失败的情况仍是少数。

另外一个特点就是SKU。

SKU即最小管理库存。在淘宝双11时,多数人都经历过当天下单,但往往不会当天发货而是高峰过去之后再发货的情况。这也就是淘宝SKU数量的问题,也就是说,出售一款产品,目前现存1000件,但同时2000人下单时,商家可先出售1000件,再随后补货上架。也就是说实际的SKU数量是2000甚至按照客户订单来完成的。

而火车票,因为订票实名制,分配座位都是对号入座的。每个时段每趟车次每一个座位,系统只能售卖一张。而实际上,无论你是不是身处春运高峰时期,全国13亿人次庞大的流动需求,迫使你购买的火车票最小库存SKU永远只有1个。

实际上,在互联网售票之前,网点售票已实施多年。也就是说,在铁路售票系统内部也是个庞大且复杂的跨地域系统进行支撑,包括涉及的业务逻辑、软硬件供应商、版本与维护协议等方面。

因此,有着严重历史包袱的12306,在诞生之初并非是为了重构原有的售票系统,更多是为了缓解当时日益紧张的售票系统压力,首先仍是原有的系统上做web前端。这才是根本上的问题。

正如总有人会豪言,自己能设计出一个比12306更好更廉价的购票系统。那么,关键的一点是,面对此时此刻的问题,你又会如何处理呢?

JS、PHP、Python等五大编程语言曝漏洞;中兴70后程序员坠亡;雷军平定迅雷内乱一周业界事

全球活跃开发者不足1500万,业余爱好者和学生仅占四分之一

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
ef英语哪个好 EF英孚英语培训怎么样? 英孚英语好不好 EF英孚教育到底好不好 大佬们,麦芒7和荣耀10那个值得入手?2500以下的机子还有啥好推荐的么... 介绍几款2500元以前的手机 像素一定要高 其他的不做要求 近期想入手一部安卓手机,价格2200到2500左右…买HTC desire Z还是 三星... 笔记本忘记开机密码怎么办急死了 笔记本电脑屏幕开机锁忘记密码 怎么办?急死了 华硕笔记本电脑开机密码忘记了怎样找回?系统是Windows 7旗舰版... 12306铁道部网站为什么不如淘宝网?为啥不用什么的云计算技术? 买飞机票和火车票数据库并发控制技术是怎样的 春运开始,12306今年及格了吗 12306火车票系统订单改抢票要和数据库做交互吗 火车票定购系统数据库数据库 不就是一个订票网站吗 12306 的核心模型设计思路究竟复杂在哪里 火车票查询系统,只是简单的查询,像12306那样,数据库具体要怎么设计 游戏卸载这后重新装载还是以前的数据。 怎么卸载有道云笔记 显示必须以管理员身份卸载 sybase iq 中怎么装载和卸载 csv(列用逗号分隔,字符串用双引号引起来,行用换行符分隔) 格式的数据 ? Hadoop伪分布和集群的输出结果区别 hadoop 伪分布DataNode TaskTracker 启不动!求高手指点一二,找了很久,本人只有5 分了,实在没办法。 hadoop 的 namenode可以做成多点吗 求高手指教hbase伪分布问题 伪分布模式安装hadoop需要多少台电脑 ubuntu 14.04下搭建hadoop 伪分布集群32位的好还是64位的 hadoop单击伪分布没法自己定义Partitioner规则吗 hadoop伪分布搭建-----hadoop fs -ls 出现no such file or directory 大数据分析与处理方法解读 sql数据库中新添加了一个字段,项目中三层架构哪些地方需要修改 关于数据库查询的问题? 在小红帽linux下安装完32位oracle11g后发现control01.ctl和control02.ctl没有了,求传一份!!! 数据库中的 v$ 是什么意思 为什么查不到v$视图?需要什么权限 请问数据库中 的v$是什么意思 就是比如v$reserved_words 。 前缀有v$这个的表什么表。用途是什么。什么机 oracle中V$LOG和V$ARCHIVE这两张表为什么在存储过程中不能用,求指点。。。 如何查找某个对象的定义(V 如何授权查询v$视图 现在有条sql,由于数据量过大,程序中执行过慢需要优化,有没有sql大神帮忙啊? 下面是sql脚本。 sql语句 ,执行太慢 ,求优化 如何查看ASM磁盘空间使用情况 ORA-15063、ORA-15032要如何解决?单位的Oracle数据库ASM diskgrou 如何查看asm磁盘下的文件内容? proe中将.asm转为CAD中的DWG文件 proe中的.asm文件转为CAD中的.dwg文件步骤 如何让ida同时显示asm指令和十六进制数据 VC 如何在对话框中获得视图类中的数据? 如何把redo文件 从asm里复制出来 怎样把UltraEdit中汇编语言彩色加亮? PROE中的.asm格式如何转换成CAD中的.dwg格式?