总结网上订票系统常见的问题如下:
1、 高峰时段无法登陆,提示在线用户过多
2、 订单提交成功之后,支付环节出了问题,浏览器意外退出,后再登陆,发现登陆不上,无法在规定时间内完成支付,购票失败
3、 订单提交反馈时间过长,热门线路需要等待20分钟甚至更长时间,才能得到反馈
4、 验证码输入总是错误,无法完成验证码验证环节,无法登陆
5、 逢用户高峰,网站反应速度较慢
6、 对多浏览器支持不好,没有IOS,Android应用入口
以上问题多数都是用户体验的问题,用户体验的问题即有票源稀少的原因,更多的是对订票系统使用过程中系统登陆困难,反应迟钝,订单结果反馈太慢,意外退出等问题难以忍受。
本人并非订票系统设计人员,但是通用对订票系统外在的表现大胆猜测一下订票系统的设计。
常见问题原因分析:
问题1,高峰时段无法登陆,提示在线用户过多;
问题4,验证码输入总是错误,无法完成验证码验证环节,无法登陆
无法登陆的问题,其原因显然是前端用于处理WEB连接服务器太少或网络带宽不足所至,为了不让更多的用户一起连接服务器导致服务器较慢,只好拒绝一些用户的登陆请求。使同时在线人数保持在一个上限以内。
验证码输入总是错误的问题,原因也是用于处理WEB连接服务器太少所至,为了防止一些客户端使用“恶意”软件,不断自动登陆的情况,验证码需求由客户端向服务器提交一个验证请求,可以由于服务器响应实在太慢,以至于整个响应速度居然超过了验证码的有效时间。
常见问题:
问题2:订单提交成功之后,支付环节出了问题,浏览器意外退出,后再登陆,发现登陆不上,无法在规定时间内完成支付,购票失败
问题3:订单提交反馈时间过长,热门线路需要等待20分钟甚至更长时间,才能得到反馈
问题5:逢用户高峰,网站反应速度较慢
问题2是一个系统的BUG,但是可以通过一些设计来解决这个问题。
问题3,问题5,可能是由于WEB服务器与逻辑处理服务器在同一台机器上,而导致服务器CPU分配了过多的时间与资源在处理用户请求,在执行逻辑时执行缓慢。
如果数据库也在同一台服务器上,那问题可能更加严重。当然我相信,不在一台服务器上的可能性比较大。
总结以上问题,其解决方案建议如下:
1、 准备更多前端WEB服务器,解决WEB前端的问题没有别的办法,只能加服务器,或者每个省市放一群单独的服务器,根据用户量进行增加,直到响应流畅为止。
2、 可以考虑把逻辑服务器单独分离出来,与WEB服务器分开,WEB服务器只处理WEB请求,逻辑服务器单独运行
3、 把数据库服务器单独分离,并且把火车票票量数据库与用户订票信息数据库放到不同的机器上,由于大量的订票请求会访问火车票票量数据库,并且会有大量订票数据添加到用户订票信息数据库中,在处理添加的逻辑占用了大量的数据库资源,会导致整个系统变慢。如果放到同一台机器上,必然导致响应变慢。把不同性质的数据,放到不同机器、不同的数据系统中,可以合理的分流系统访问量,使系统响应加快,横向扩展更具有弹性。
4、 把支付订票费用放到一个单独的网站进行,订单提交成功后锁票,之后根据订单号可以在另外一个单独的网站上进行单独支付,支付时只要提供订票号就可以,这样做有很多好处:1. 避免了由于支付失败而导致退出浏览器,却由于在线人数过多无法登陆导致订票失败的情况,2. 电话订票也可以在此支付,在火车站机自动售票机器上取票,这样支付方便,也解决了异地付款取票的问题 3. 单独支付会在一定程度上给订票网站减轻访问与处理压力
5、 提供快递火车票服务进行创收,支付成功的火车票可以进行快递,这样即方便订票人也可以给铁道部创收
6、 网站可以根据用户订票信息做一些有针对性网站广告,如旅游、酒店广告等进行创收
7、 开发出更多的手机终端软件,扩大订票系统使用的覆盖面
8、 支持更多的浏览器,而不仅仅是IE
由于本人水平有限,欢迎各个高手批评指正,希望这篇文章能够抛砖引玉,大家一起讨论。
网上的其他类似文章:
http://cloud.it168.com/a2012/0130/1304/000001304533.shtml
posted on 2012-10-15 17:09
胡满超 阅读(2746)
评论(7) 编辑 收藏 引用 所属分类:
架构设计