最近坑爹的12306系统引起了全体网民的讨伐,而有趣的一幕是广大程序员们觉醒了,大家从技术的角度讨论的热火朝天,由于买火车票与每一个人息息相关,大家化网站的优化为己任。毫不夸张的说,此次12306事件,引发了IT行业引发了规模空前的,关于网站大规模并发处理技术的大讨论,我总结了一下有一下几个方面:

网站出事的原因的分析及对策:
1.QQ,淘宝,在线量比网站还大,为什么12306做不好,没有进行性能测试,而且工程师太差劲了,请一些牛企的技术专家来即可解决。
我认为请牛企的技术专家来也未必能解决好问题,为什么?在这种系统架构下,如此大规模的并发,我认为国内还没有网站经历过。啊,怎么可能,你可能会说QQ不是号称几亿人同时在线吗等等疑问?要知道,类似于QQ或者网游在线用户这种情况与12306的情景有着本质的不同。因为前者号称几亿人在线,可是大部分在线的人不是同时进行操作,或者说进行某一项事物处理,所以实际的并发数要远远少于线上的人数,设想如此大规模的并发量,我想没有哪个网站敢保证平稳应对。

对于性能测试,我想铁道部不会傻到没有进行压力测验,只是实际最终的并发数恐怕铁道部自己也没有预想到,或者系统没有做好这种级别并发数下的应对准备。

所以,对于这种海量的事物处理,目前还没有很好的解决方案,Hadoop可以,它是一个能够对大量数据进行分布式处理的软件框架,但是Hadoop本身应用未必容易,铁道部也不会那么容易就应用这么庞大的改动。

2.铁道部的票务核心系统速度慢,不完全是网站设计的问题。要改进应该先对核心票务系统改进。
如果真的是票务核心系统的原因,那恐怕要解决就不是那么容易的事情了。

首先,铁道部不会让外包公司轻易的涉足核心系统,目前合作的公司如太极,网宿科技都还只是硬件集成,类似于中间件,软件,数据库,运维均无权涉足。显而易见,如果让外包公司涉足,那么铁道部这个大黑窝恐怕还不知道要整出多少黑幕,到时候恐怕就不是一个订票系统的问题了,整个铁道部恐怕都要变天吧。

然后,如果要重构整个核心票务系统,那么其工程量将会及其巨大,所牵涉到的方方面面很难协调,况且,目前铁道部自723事故之后,本身的预算收紧,很难说有这个资金来进行系统重构。而且重构本身也不完全是钱能够解决的,软件方面的问题,钱不是最重要的,如果钱能解决,那么这个所花的钱也是不可想象的。

3.系统的购票流程太坑爹,设计了一个大事物处理,另外涉及到YI,允许重复登录,停留时间无限制,采用CS模式等问题。应该改进购票流程,先充值,再购票,类似于网游充值。如果没票了,再退款。关注细节,不允许重复登录,限制网站停留时间。
网站实在太多地方需要改进了,我认为大家提的意见都很正确,将付款与查询,订票分离,而不是一个超大的事物搞定整个购票流程,我觉得这样很容易出现死锁的问题。对于UI,我倒是觉得不是首要解决的问题,因为对于大家来说,能买到票就行了,关键是速度要快,不在乎页面有多难看,UI的问题可以在后期不断改进。如果采用分离模式,停留时间问题也就迎刃而解了,用户在较短时间内可以完成查询,订票操作。而现在以我切身体验为例,买一票在系统里停留的时间几乎有将近1个小时,这样极大的浪费了系统资源。

对于CS模式,我觉得CS模式能很大程度上分解系统的压力,很多操作占用客户自己的电脑。但是很重要的一点就是,它的安全性,如果因此而造成购票的不公平,我想着比买不到票还严重。另外,做成客户端,它的后期升级维护也存在很大的问题。所以我不赞成用CS模式。

12306铁路订票系统小思相关推荐

  1. 12306铁路订票系统的一个小bug

    进入12306的后台>>打开[我的信息]>>打开[常用联系人] 列表中上面是自己不能修改,下面是帮别人买票时自动添加上的联系人点击[编辑] 进入到的页面可以修改用户信息,生日默 ...

  2. 12306火车订票系统(C++)

    文章目录 12306火车订票系统(C++) 注意事项: 设计思路-设计问题解决思路.系统功能规划: 具体实现---类设计.功能实现过程: 实现代码: 需要的文件: 2018212591马俊光的用户信息 ...

  3. 12306网络订票系统登录提示解决方案

    关于铁道部12306网络订票系统登录提示解决方案 介于2012年春运拉开帷幕,很多人选择了网络购票和电话订单,可是由于铁道部12306网络点击量过大,好多人根本无法登录系统进行网购:为保障农民朋友按时 ...

  4. android生成车票动效,Android项目源码功能齐全的12306火车票订票系统项目

    [实例简介] 本项目是一个基于安卓的12306火车票客户端项目源码,实现了早期的登录注册购票改签等功能.但是因为12306网站改版比换鞋垫还频繁,所以功能早就不能用了,不过项目提供了大部分功能的原来实 ...

  5. 假如我是铁路订票系统架构师系列 - 开放还是封闭系统 - 对外挂的态度

    今年铁路订票系统的热门话题是抢票插件. 从铁道部不允许电商代购看,业务上要求订票系统应该是设计成封闭系统.但订票系统能让别人开发出抢票软件,说明没有有意将其设计成封闭系统. 这是典型架构师没有完全实现 ...

  6. 从铁路订票系统问题看系统架构师的责任和水平

    据新闻报道铁路订票系统采用了排队系统,但排队时间需要30分钟.使很多人不满. 并且系统仍然有登陆不上的问题. 从描述看,系统很可能采用了本博客前面提到的异步处理架构. 但从用户体验看该系统架构师的设计 ...

  7. 12306火车订票系统谈网站架构优化

    转载于http://www.woshipm.com/it/3731.html 12306.cn网站挂了,被全国人民骂了.我这两天也在思考这个事,我想以这个事来粗略地和大家讨论一下网站性能的问题.因为仓 ...

  8. 12306网络订票系统

    醒目1:12306出台了"输入密码错误次数大于x次就锁定账号"导致当日无法登陆的举措,请同学们在使用脚本登陆的时候一定不要输错密码-- 醒目2: 12306更新了后台的登录程序,现 ...

  9. 由铁路订票系统联想到的

    作为一个互联网初哥这样级别飙升的流量,居然还能让大把的人定到票,可想而知:要么是所谓的高流量网站技术太简单:要么是铁道部信息技术中心太NB.真相到底是什么呢?我个人以为,两边都沾着那么一点. 中国铁路 ...

  10. 12306 java_My12306-1.0 一个用java web写的仿12306火车订票系统 - 下载 - 搜珍网

    压缩包 : a9179988ffca2a36aef2e95ba9105b.rar 列表 My12306-1.0/.classpath My12306-1.0/.mymetadata My12306-1 ...

最新文章

  1. oracle 数据库开发应用实例,招生录取系统,oracle与plsql教程打包下载
  2. golang 获取两个时间 相差多少 小时
  3. Python学习札记(二十) 函数式编程1 介绍 高阶函数介绍
  4. C++ Primer 5th笔记(chap 17 标准库特殊设施)smatch
  5. 年终将至,回顾我们一起走过的 2020
  6. 使用React,TypeScript和Socket.io构建聊天应用
  7. HttpWatch工具简介及使用技巧(二)
  8. python基础自动化测试_Python自动化测试基础之HelloWorld
  9. 使用python将多份pdf文件合并成一份
  10. Quartz 源码解析(一) —— 基本介绍
  11. MT40A2G16SKL-062E:B内存4代D9XQF
  12. 【路径规划】基于遗传算法求解多式联运运输问题matlab源码
  13. Vlan(虚拟局域网配置)
  14. MATLAB 人机对弈黑白棋
  15. Win10--开启FTP的方法
  16. 信赖域狗腿(dogleg)方法
  17. vue双向绑定失效赋值失效
  18. 通过jira开放接口创建issue时指定链接的问题
  19. 读《Scrum敏捷软件开发》笔记
  20. 云贝同城配送跑腿平台 v1.1.8_前端线传

热门文章

  1. 年终总结系列1:基于IFRS9的预期损失准备金
  2. 23位子网掩码是多少_24 28 30 位的子网掩码是多少
  3. android的sd卡分区,AndroidSD卡做磁盘分区图文教程
  4. 大数据开发工程师是做什么的?岗位要求高吗?
  5. SiamRPN++算法详解
  6. Es6模板字符串封装与使用
  7. 前端实现base64解码编码
  8. Base64的编码与解码的实现方法(超详细,每一行代码都含注释)
  9. 分布式 | zabbix 监控 dble
  10. 利用Thumbnilator对图片加文字水印