开发者社区> 问答> 正文

12306 一崩再崩,作为程序员你最想优化哪个功能?

抢票的痛苦,抢过都知道。

各位程序员大佬,不知道你们怎么看。有哪些经验和教训,可以让 12306 的程序员们参照看看。

展开
收起
茶什i 2020-01-09 10:41:56 3318 0
4 条回答
写回答
取消 提交回答
  • 每个人春运回去的时候有很多种选择,问题在于铁道部并不掌握这个信息,首先应该让所有人按照优先级提交满足他要求的所有选择。其次,应该关闭所以非12306渠道,线下售票处改为叫人替你操作12306。interface没有变,变的是implementation。

    举个例子,我工作回家,可以年28走,可以年29走,可以转这趟车,可以转那趟车。这些信息全部打包提交上去,我还可以说我prefer这个多过那个,我喜欢坐过道还是睡觉,一次性把所有信息交给铁道部。最后铁道部选出在我这么多要求内的其中一张票,然后服从集体安排。

    当所有人把自己春运的要求提交上去之后,铁道部就可以统一安排,尽量让每个人都有票。

    这样的好处有三个。

    首先,购票与出票分离,这样抢票软件直接成为无稽之谈,因为根本没有东西可以抢。

    其次,吞吐量大幅上涨。不仅不需要抢票,而且每个人只需要提交一次信息,等着分配就好了。因为购票失败二换另一条路还要查询一大堆的这个事情直接消失了。

    最后,买到票的人将最大化。因为现在铁道部掌握了所有人的具体需求,完全可以慢慢计算出一个让几乎所有人都能回家的办法。

    唯一的要求就是一部可以收信息的手机,你看不懂字可以让工友帮你,也可以去火车站问。

    最后刷身份证上车,不懂的叫服务员帮忙。

    为了杜绝不公平的事情发生,统筹火车票可以免费,平时多收一点点其他税就全部搞定了,甚至少到让你察觉不出来。反正不收你的钱,怎么安排不许你不服,不服就自己想别的方法回家,大不了你自己租车开回去,两天内一定能到。

    非春运的时候可以恢复即时出票的落后售票方法。

    2020-01-09 10:50:43
    赞同 展开评论 打赏
  • 目前从事大数据开发,兼顾平台搭建以及实时数据分析,主要是用scala编写程序,涉及社区开源hadoop集群,emr集群,欢迎有相同兴趣的小伙伴来交流,共同进步。最近在参与flink-java实时开发。

    当然是读写分离的系统架构了,超级大数据量 + 复杂的业务,要做到读写分离,真的想尝试一下

    2020-01-09 10:45:04
    赞同 展开评论 打赏
  • 不断奔跑的开发者

    我觉得现在的12306并发处理能力已经很厉害了,候补抢票的功能也是他们的一种并非处理方式,如果在优化可能就是再加服务器吧

    2020-01-09 10:44:54
    赞同 展开评论 打赏
  • 技术架构师 阿里云开发者社区技术专家博主 CSDN签约专栏技术博主 掘金签约技术博主 云安全联盟专家 众多开源代码库Commiter

    高并发高并发高并发 高可用高可用高可用 哈哈

    2020-01-09 10:44:14
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
如何做小程序性能优化 立即下载
代码未写,漏洞已出——谈谈设计不当导致的安全问题 立即下载
Android插件化-从入门到"放弃" 立即下载

相关实验场景

更多