抢票的痛苦,抢过都知道。
各位程序员大佬,不知道你们怎么看。有哪些经验和教训,可以让 12306 的程序员们参照看看。
每个人春运回去的时候有很多种选择,问题在于铁道部并不掌握这个信息,首先应该让所有人按照优先级提交满足他要求的所有选择。其次,应该关闭所以非12306渠道,线下售票处改为叫人替你操作12306。interface没有变,变的是implementation。
举个例子,我工作回家,可以年28走,可以年29走,可以转这趟车,可以转那趟车。这些信息全部打包提交上去,我还可以说我prefer这个多过那个,我喜欢坐过道还是睡觉,一次性把所有信息交给铁道部。最后铁道部选出在我这么多要求内的其中一张票,然后服从集体安排。
当所有人把自己春运的要求提交上去之后,铁道部就可以统一安排,尽量让每个人都有票。
这样的好处有三个。
首先,购票与出票分离,这样抢票软件直接成为无稽之谈,因为根本没有东西可以抢。
其次,吞吐量大幅上涨。不仅不需要抢票,而且每个人只需要提交一次信息,等着分配就好了。因为购票失败二换另一条路还要查询一大堆的这个事情直接消失了。
最后,买到票的人将最大化。因为现在铁道部掌握了所有人的具体需求,完全可以慢慢计算出一个让几乎所有人都能回家的办法。
唯一的要求就是一部可以收信息的手机,你看不懂字可以让工友帮你,也可以去火车站问。
最后刷身份证上车,不懂的叫服务员帮忙。
为了杜绝不公平的事情发生,统筹火车票可以免费,平时多收一点点其他税就全部搞定了,甚至少到让你察觉不出来。反正不收你的钱,怎么安排不许你不服,不服就自己想别的方法回家,大不了你自己租车开回去,两天内一定能到。
非春运的时候可以恢复即时出票的落后售票方法。
当然是读写分离的系统架构了,超级大数据量 + 复杂的业务,要做到读写分离,真的想尝试一下
我觉得现在的12306并发处理能力已经很厉害了,候补抢票的功能也是他们的一种并非处理方式,如果在优化可能就是再加服务器吧
高并发高并发高并发 高可用高可用高可用 哈哈
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。