阅读更多

3顶
2踩

非技术

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

 

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

 

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

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

用户体验如此之差

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

0?wx_fmt=jpeg

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

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

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

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

2017年11月,12306网站微信支付功能上线试运行。

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

为何总要“缝缝补补”?

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

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

0?wx_fmt=jpeg

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

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

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

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

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

另外一个特点就是SKU。

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

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

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

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

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

本文基于悟空问答“为什么12306手机客户端如此脆弱?”内容整理,来源链接:

https://www.wukong.com/question/6372701612640567554/

来自: 悟空
3
2
评论 共 3 条 请登录后发表评论
3 楼 dts228 2017-12-28 16:48
我就奇怪了。为啥子不把客户的出行需求提前放出来,摇号订票。
摇到号的,如果取消,直接扣80%就完事了。那里还有什么黄牛。抢票的说法
2 楼 hub 2017-12-23 16:49
12306 春节的并发量,不敢说远比淘宝的双11高,但是肯定是相当高的。技术团队应该是比不上淘宝的,但是这个12306这个系统的复杂性是要比这些电商系统要高,这个也要承认。不要一味的去跟风,吐槽。。。 
1 楼 mdqy195905 2017-12-21 12:04
,12306的洗白文?

混淆视听啊。12306网站PV(页面浏览量)目前每天都超过400亿次,这个数字远远高于淘宝双11时同时访问的人数。这能比?又不是并发量,只是页面访问量。这能比?

技术不行就不行。要承认。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 《程序员》:唯品会双11大促技术保障实践 为什么耗资数亿的12306一直都非常难用? 96年美女拿下了刘强东的猪脸识别冠军,30万奖金到手! 2017 科技大事件回顾:智能音箱大战、数据泄露于

    “技术会有一个前进的方向,我们把它称作‘必然’,也就是说,这...2017 年马上收尾,作为一名科技观察者,不管身体还是灵魂,其实一直都在路上。 这一年,亚马逊虚拟助手 Alexa 在多款品牌产品上成功应用,在 CES

  • 12306不再宕机,马云帮了大忙?

    ​从2012年开始,每到春运火车票订票网站12306便迎来一次大考。频繁地宕机,尤其是在抢票关键时刻拒绝服务,让民众对12306失去了耐心,再加上特殊的研发背景以及承载了人们买不到火车票的愤怒出口,12306长时间处于...

  • 智头条」十四五数字经济发展规划发布,工信部推动充电标准统一

    进一步强化个人信息保护,规范身份信息、隐私信息、生物特征信息的采集、传输和使用等。 《规划》明确坚持“创新引领、融合发展,应用牵引、数据赋能,公平竞争、安全有序,系统推进、协同高效”的原则。到2025年...

  • 中国云计算的十年江湖

    要知道,李彦宏和马化腾都是技术出身,对云计算的见解按说应该非常深刻。可偏偏不懂技术的 马云却力挺云计算: “我的理解,云计算最后是一种分享,数据的处理、存储并分享的机制。我们自己公司对云计算是充满信心和...

  • 我们的自由软件在哪里?

    最近公司将要拿到一个大项目,由于之前使用的tongeasy并发执行效率上不太满意,使得我们对tongeasy怀有戒心。最近一直也在研究各种不同的消息产品,希望可以找到更合适的替代品。在比较了tongeasy,tuxedo,rabbitMQ,...

  • 程序员,这样面试,你的成功率能达到 90%!

    其实你只需要搞清楚一个逻辑:“面试官为什么会这样问?他希望听到什么答案?”然后针对性的准备和回答就行了,无他。 “你的优势是什么?”多年前我觉得这个问题很无聊,现在我经常这么问面试者,因为我真的想...

  • 大数据阴谋论,南方周末以“国家安全”之名质疑阿里(一)

    2014年1月,阿里巴巴耗资10亿元人民币,控股中信21世纪公司(该公司股票后改名阿里健康) 让医药企业警惕的是,此后不久,阿里健康就推出了相关的互联网产品。 2014年7月,阿里在手机淘宝和支付宝钱包中推出“药品...

  • 软件失效的典型案例

    国内12306铁道部火车票网上订票系统历时两年研发成功,耗资3亿元人民币,于2011年6月12日投入运行。2012年1月8日春运启动,9日网站点击量超过14亿次,系统出现网站崩溃、登录缓慢、无法支付、扣钱不出票等严重问题。...

  • 终于放假了,回武汉了,狂欢三日点滴记录

    快过年了,为什么人人都忙着定火车票啊,太疯狂了,全名总动员啊。 但是我想反问铁道部: 如果你让我们其中有一个中国人民,因为没有买到票回家,你们情何以堪,  你们耗资几亿做的12306.cn,叫我们这些程序员情何

  • 12306:春节抢票高峰已过,技术团队为自己打 90 分以上

    近几天早上看新闻时也一直能看到「春运 2018」的最新情况,而据中国之声《全国新闻联播》报道,中国铁道科学研究院电子所副总工程师兼 12306 技术部主任单杏花表示,12306 最高峰抢票时段已经平稳渡过,今年春运 ...

  • 使用 Simulink(R) 在 AWGN 信道上执行带穿孔的软判决维特比解码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

  • 极化码的高斯近似过程,基于matlab平台.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

  • 广东省关于人工智能赋能千行百业的若干措施.docx

    广东省关于人工智能赋能千行百业的若干措施.docx

  • 湖北省数据条例(草案)(征求意见稿).docx

    湖北省数据条例(草案)(征求意见稿).docx

  • CSS网站布局与开发技巧(pdf电子书)最新版本

    中软国际IT培训中心的培训教程,属于学习CSS网页设计的基础入门教程,讲一些原理和概念,高深的理论不太多。

  • Python 中数据结构和算法的最少示例.zip

    Python Data Structures and Algorithms Minimal and clean example implementations of data structures and algorithms in Python 3. Contribute Thank you for your interest in contributing! There are many ways to contribute to the project. Start testing from here Take note when running all tests using unittest $ python3 -m unittest discover tests To run some specific tests you can do the following (e.g. sort) $ python3 -m unittest tests.test_sort Run all tests using pytest Make a note when $ python3 -m

  • TeamIDE-win-2.6.31Team IDE 集成MySql、Oracle、金仓、达梦、神通等数据库、SSH、FTP、Redis、Zookeeper、Kafka、Elasticsearch、M

    TeamIDE-win-2.6.31Team IDE 集成MySql、Oracle、金仓、达梦、神通等数据库、SSH、FTP、Redis、Zookeeper、Kafka、Elasticsearch、M

  • C/C++/Python/Java四种语言下的算法实现资源概览

    内容概要:本文综述了C、C++、Python、Java这四种主流编程语言中,用于实现常见和高级算法的学习资料,覆盖范围广泛,从书籍、在线课程平台到GitHub上的开源代码仓库均有提及。每种语言都详述了推荐的学习资源及其优势,旨在满足不同程度学习者的需要。 适合人群:对算法实现有兴趣的学生、自学爱好者、开发者等。 使用场景及目标:帮助读者挑选合适的语言和资源深入理解算法的理论与实际编码技巧,适用于个人提升、项目实践或教学使用。 其他说明:文章提供了丰富的学习渠道和实战项目,既适合作为基础理论的学习,也适合于实际操作练习,尤其强调通过实做加深理解的重要性。

  • aiuiphone0000000000000000000

    aiuiphone0000000000000000000

Global site tag (gtag.js) - Google Analytics