12306.cn的十宗罪和7点改善开发建议
本篇文章1521字,读完约4分钟
(你已经做了9个多月了!) 您是否做过最重要的事情,如分片、缓存、压缩、集群、cdn等等?
-界面非常容易操作,我不知道如何使用ajax及时更新本地页面
不再有效——只支持ie(根据网民的说法,你可以使用chrome和safari,但四个月前我不能使用mac chrome)
-不能直接打印门票
-你不能选择座位
-使用的安全证书无效。
-这不是https
-票丢了重新发行后,我得先买一张。。。你不能取消前一个吗???
-开发成本极高;有人怀疑这个节目是由朝鲜人用火星人的工资写的
提高12306并发性的七点建议
有人说12306的并发性是世界上最大的,比脸书和谷歌都大。让我们相信它。但这不能成为糟糕经历的借口,也不能成为网站崩溃的金牌。我直到第一天才知道它,我是在去年春节期间看到它的。当时,网站刚刚推出,这是可以理解的。九个月过去了,这只能说明铁道部在解决这个问题上的无能。 作为用户,我们最容易唾弃这种体验。每个人都有权利这样做,也应该这样做。如果你不给他们施加压力,他们会视你为自愿。12306的经历真的很艰难。 作为一名技术产品人员,除了发表意见,我还对解决并发问题提出了一些建议。这些意见都是在没有深入了解铁路数据的情况下聊出来的,因此可能存在缺陷。但是只要他们愿意公开数据,我相信很多人都愿意给他专业的建议。
1-将短期并发分散到长期 并非所有的技术问题都必须通过技术手段来解决。12306在假日买票的发生率很高。事实上,它可以完全指导用户在旅行前几天不买票。在主流节日之前,你可以考虑提前30天买票,越早买票,折扣越多。例如,t-x可以在30天内享受10%的折扣,T-X可以享受9+(30-x)/30的折扣。鼓励大家早点买票。将短时并发分散到这30天,以尽可能降低系统的瞬时负载峰值。我对此非常乐观,对价格敏感的人仍然可以享受利益。
2-不同的线路使用不同的数据库 12306。并发性的最大问题可能是票务资源的锁定。最简单的方法是打破票务资源的锁定;让不同的行使用不同的数据库服务器。如果所有行都只有一个中央数据库,那么无论你做什么都会崩溃。
3-封锁繁忙线路的售票资源 简而言之,从上海到北京的线路有1000张票,同时有10000人抢票。每个人都访问一个数据库,这很容易崩溃。因此,有必要划分这个数据库——许多不同的做法,多辆车可以有自己的数据库服务器;或者动态地将部分资源分配给指定的服务器,然后动态地将流量引导到服务器;不要锁桌子,锁排;等等。此时,许多数据库专家可能会中断。
4-分开阅读和写作,尽可能限制写作。特别是对于阅读,可以使用单独的阅读数据库,在该数据库上可以使用memcache和本地缓存来显示票据信息。对于写作来说,只有当用户选择了一个火车信息并且真的决定购买它时,他才能访问可写数据库。
5-借用云服务 12306的特点是节假日期间资源消耗极高,这在平时要小得多。此功能不适用于所有服务器。你可以考虑租用其他云服务器,阿里巴巴云、百度云和铁道部。他们应该热烈欢迎合作。
6-将计算结果尽可能多地推送到用户的浏览器 查看典型的用户使用情况,并将查找车次和时间的功能推送到用户的终端。例如,对于3,如果从北京到上海的机票信息,即使在不同的日期,都在一个数据库中;你可以考虑查找一个日期(记得在日期栏中添加索引),顺便说一句,两天内就可以全部找到。选择…其中t=x和选择…其中t=x或t=x-1或t=x+1对数据库的资源消耗没有影响。
7-最后,让我们把它吐出来,即使我们用一种粗俗的方法让用户排队!人们到达后给他们发短信。不要指望每个人都盯着屏幕!是的,至少我没有回应,当窗口站成一排,窗口阿姨会对我大喊大叫!
标题:12306.cn的十宗罪和7点改善开发建议
地址:http://www.n4ti.com/nbzx/6877.html
免责声明:宁波晚报为您24小时滚动报道宁波新闻,宁波资讯,宁波时事等资讯。部分内容来自于网络,不为其真实性负责,只为传播网络信息为目的,非商业用途,如有异议请及时联系btr2031@163.com,宁波晚报的作者将予以删除。