您的位置:首页 > 其它

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,我们可以限制一个用户同时处理的订单个数。如果用户提交多个,我们可以说:你是票贩子吗?我们正在处理你的好几个订单

我们也可以提供一种选择,保留现有的实现,给那些有时间刷屏的同志。

有了这些,我们就不要傻乎乎的在电脑前刷屏了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐