最近铁道部购票已经成为了热点话题,毛病多得一塌糊涂,如果让你来设计铁道部购票网站,你会怎么做?
这样的网站属于实时性要求较高、并发性要求非常高、容量要求一般的类型,以下是我简单的想法:
1、部署是基于CDN的,对于车票查询的环节来说,这是没有问题的。
2、数据库表设计上面,应当有一张车次表,每行代表一趟车,至少有这样的字段:还剩多少张,已被锁定多少张。
3、每次发生订票操作时,先去查询当前是否有余票,有的话锁定一张等待用户操作,如果半小时内无法完成,锁定票放回。
4、查询部分,集群中放置分布式缓存,存放数据的静态页面,但由于车票查询实时性有一定要求,可以设置每个查询页面有10分钟的生命周期,缓存文件管理算法用LRU就可以,被动更新。如果车票信息在本地,数据库节点应该会是瓶颈,好的缓存设计会很讨巧,可以大大减小数据库压力。
5、应用节点的负载分担是一定要做的,查询和订票操作可以分开集群,有条件的要做硬件负载。
6、静态资源合并,落到单独的域名服务器上。
7、流量控制部分,不能只给出用户提示,应当给出用户当前在等待队列中的位置,定时更新当前位置,在排队到达后,要页面通知到用户来完成操作。
8、订票当次处理成功以后,接下去的出票等等操作放在队列中进行,等待银行把款转过来,这部分也有一定实时性的要求,应当和响应用户的应用服务器分开,免得互相干扰。
还有一些疑问也值得讨论,很有意思,比如遇到那些抢票机器怎么处理。
-------------------------------------------------------------------------------------------------------------------------------
2012-1-14,根据大家的讨论摘选有意义的进行补充:
1、车次票需要包含若干个区间票。
2、倘若按照10分钟的页面缓存过期时间,用户很可能还是不愿意接受的,需要把数据直接写到内存里面,查询在内存里面查询,数据库只做适当时机下的持久化和数据同步用。
3、关于和淘宝相比的访问量,不见得有淘宝的大,见日均IP的统计:
关于PV,这句话很有道理:
“12306真的有这么大的PV量吗?现在的PV这么大,那是因为我查询100次,1次也查不成功,所以我就不断的刷,这本身就是在逼迫全国人民对其进行Dos攻击。如果查询的成功率、订单的成功率提升了,估计PV会直线下降。”
所谓恶性循环变指此吧。
4、关于数据库要不要集群,从目前的系统看,瓶颈不在此,而在考虑了采用内存数据存储和直接命中以后,似乎还没有这个必要。
- 大小: 76.2 KB
分享到:
相关推荐
铁道部12306火车票购票网站是使用java的SSH三个框架来实现的,在这里做下简要的技术分析。
铁路购票网站招标回溯:铁道部肥水不流外人田.pdf
铁道部科教司科研项目管理信息系统研究与设计.pdf
SUN公司为铁道部写的安全文档; 铁道部计划建立一个现代化的、安全可靠的、面向服务的网络系统。Sun 公司专业服 务部向铁道部提交一个可行的安全解决方案,提供网络用户认证、应用程序访问控制、机 密性和不可抵赖...
近来听说12306.cn网络购票网站,有瘫痪危险,就去看看。这个网站的前端基本架构是jQuery+Struts+CDN(即contentdistributionnetwork)。这个CDN,是网宿科技支持的。看到下面的一个消息,是前年的。...
适合需要使用CAD软件进行铁路行车组织学习的学生和铁路爱好者使用,本图纸参考铁道部标准运行图纸进行编制,仅供学习参考
铁道部直属通信处住宅楼施工组织设计.zip
铁道部货调系统Oracle数据库的设计与实现.pdf
铁道部劳动合同.doc
铁道部劳动合同范本.pdf
我所见过的最好的列车时刻表查询软件,可以在线升级,与铁道部官方网站相连接,给您最新的全国列车时刻信息!
坐火车做飞机的时刻表查询,是铁道部发布的软件,信息非常的权威!
铁道部:新客票系统2015年建成,正好最近想整理和总结一下这几年的工作中的收获,正好可以借这个机会,尝试设计一下铁路客票系统,把自己所学全部用到这个系统中去,顺便也希望各位猿们拍砖,一起探讨一下设计,技术...
在当前的教育体系中,石家庄铁道大学作为培养工程技术人才的重要基地,对本科生的毕业设计环节尤为重视。《石家庄铁道大学本科生毕业设计手册》的制定和使用,是学校为了确保学生毕业设计质量的提升而采取的一项关键...
JAVA多线程设计模式_中国铁道出版社 本书浅显易懂的介绍了JAVA线程相关的设计模式,通过程序范例和UML图示来一一解说,书中代码的重要部分加了标注以使读者更加容易理解,再加上图文并茂,对于初学者还是程序设计...
电气化铁道作为现代铁路运输的重要组成部分,...电气化铁道与通信线路的电磁兼容设计是一项复杂的系统工程,需要通信工程师、电气工程师以及铁道工程师等跨专业协作,共同优化铁道通信环境,确保铁路交通的安全与高效。