12306为什么不从用户行为角度解决性能问题
2012-10-31 10:28
323 查看
我们都经历过12306购票的抓狂。我相信12306已经投入了海量的钱,已经使用的最好的服务器,也已经请了最好的架构师去帮助解决问题。但是最终结果你懂的。
我们为什么不换一个角度从用户的行为角度解决问题:我们登陆12306的目的是什么?我们能不能延时处理订单?
我们使用12306的目的就是能买到票回家,我们以前能花几天在电脑前为了区区一张票,我想也不会太关心那么几秒几分钟之后才知道能不能得到票。
我的想法就是:
1,我们的数据库有一个用于修改,其余只能读。相当于Active/Standby模式
2,我们根据只读服务器的数据给用户显示订票界面。
3,用户提交订单。不管有没有票,都成功。提示用户你可以去喝杯咖啡,我们会短信通知您下一步怎么做
4,后台开始处理所有订单,如果成功,发信要求客户你可以交钱了。否则说sorry. we are out of ticket
我们可以进一步优化:
1,用户可以一次给用户丰富的选择,比方说特快1定不上,我可以特快2,也可以慢车。只要不让我走回家就行。我也可以几张票不在一趟列车,我们可以分开走。。。
2,我们可以允许客户提交一个订单循环订票,比方这个订单如果失败,2个小时后系统会尝试再次提交,因为有些人没有按时付钱。
3,我们可以限制一个用户同时处理的订单个数。如果用户提交多个,我们可以说:你是票贩子吗?我们正在处理你的好几个订单
我们也可以提供一种选择,保留现有的实现,给那些有时间刷屏的同志。
有了这些,我们就不要傻乎乎的在电脑前刷屏了。
我们为什么不换一个角度从用户的行为角度解决问题:我们登陆12306的目的是什么?我们能不能延时处理订单?
我们使用12306的目的就是能买到票回家,我们以前能花几天在电脑前为了区区一张票,我想也不会太关心那么几秒几分钟之后才知道能不能得到票。
我的想法就是:
1,我们的数据库有一个用于修改,其余只能读。相当于Active/Standby模式
2,我们根据只读服务器的数据给用户显示订票界面。
3,用户提交订单。不管有没有票,都成功。提示用户你可以去喝杯咖啡,我们会短信通知您下一步怎么做
4,后台开始处理所有订单,如果成功,发信要求客户你可以交钱了。否则说sorry. we are out of ticket
我们可以进一步优化:
1,用户可以一次给用户丰富的选择,比方说特快1定不上,我可以特快2,也可以慢车。只要不让我走回家就行。我也可以几张票不在一趟列车,我们可以分开走。。。
2,我们可以允许客户提交一个订单循环订票,比方这个订单如果失败,2个小时后系统会尝试再次提交,因为有些人没有按时付钱。
3,我们可以限制一个用户同时处理的订单个数。如果用户提交多个,我们可以说:你是票贩子吗?我们正在处理你的好几个订单
我们也可以提供一种选择,保留现有的实现,给那些有时间刷屏的同志。
有了这些,我们就不要傻乎乎的在电脑前刷屏了。
相关文章推荐
- 分享Web应用运行的细节问题:预编译提高网站性能、跟踪用户习惯和解决线程同步
- 分享Web应用运行的细节问题:预编译提高网站性能、跟踪用户习惯和解决线程同步
- 使用mssql2008新特性(存储过程参数类型使用"用户自定义表"来实现批量DML更新多表)解决项目里遇到的性能问题
- 为什么你的MySQL性能差?死代码牵连问题解决了吗? - MySQL
- web应用,大的用户量该如何解决性能问题
- Web应用运行的细节问题:预编译提高网站性能、跟踪用户习惯和解决线程同步
- 分享Web应用运行的细节问题:预编译提高网站性能、跟踪用户习惯和解决线程同步
- 构、搜索、性能等技术角度分析了电子商务网站重点要解决的几个问题,并给出一些建议和方案
- Java EE企业系统性能问题的原因和解决建议
- 解决scott用户执行计划看不到统计信息的问题
- mybatis批量插入oracle大量数据记录性能问题解决
- 解决ubuntu下root用户 不能ftp登陆的问题
- (原創) 解决问题时,不要只从演算法的角度去思考 (日記)
- 解决Java/MySQL性能问题的思路
- 五大Linux简单命令 帮你解决性能问题
- Redis性能问题排查解决手册
- 解决用户控件路径问题
- 解决前面有一篇文章中'flashplayer.so为什么要设置777权限的'问题 的 思考了
- 解决linux下tomcat8.5上传图片other用户无法通过Nginx查看的问题
- 正确优雅的解决用户退出问题——JSP和Struts解决方案