开发者社区> 霖枫> 正文

火车票订票系统的几点优化思考

简介: 今天刚和选哥讨论这个铁道部新搞的什么网上售票系统,非常之难登陆,昨天我登了一上午才挤上去买了一张票,和在火车站排队有什么区别~,无奈中国人口之多,在哪都要排队,网上也逃厄运,于是我开始抱怨铁道部设计的购票系统,偶然发现...
+关注继续查看

今天刚和选哥讨论这个铁道部新搞的什么网上售票系统,非常之难登陆,昨天我登了一上午才挤上去买了一张票,和在火车站排队有什么区别~,无奈中国人口之多,在哪都要排队,网上也逃厄运,于是我开始抱怨铁道部设计的购票系统,偶然发现网上一篇文章志同道合,于是摘之如下:

一、场景分析

1、平时访问量不高,但是春运几天会出现瞬间高峰

2、订单的事务性要求较高

3、全国开放,并且票数要精准

4、瞬间访问量大


二、调优可行性方案

1、数据层次

请使用oracle,在数据稳定性以及千万级别的数据量上还是比较有保障

  • 使用RAC来做数据库集群
  • 将订单按照天来做日期类型的表分区存储数据
  • 做主从库,将非关键性数据查询放到从库上
  • 提取计算规则比较复杂的逻辑放到timesten这类内存数据库上进行处理
  • 根据业务系统拆分数据库,尽量不要将所有业务放到一个库中


2、cache层次

  • 使用memcache之类的分布式cache一些字典表数据,减少数据库的查询次数
  • 做页面的cache缓存
  • 利用memache的原子性来做各个路线的票数增减服务。和数据库的操作做异步处理
  • 预先加载部分热点数据到cache中

3、前端处理

  • 将css以及js和图片使用CDN进行加速,独立域名部署
  • 减少图片加载量,以及图片的大小
  • 减少css和js文件的数量,同一类型尽可能压缩整合到一个文件中。当然那些开源的prototype或者jquery组件就不要整合了。
  • 将验证码调用采用触发方式,可以考虑单独部署验证码校验服务,不要和应用系统本身整合到一起


4、业务层次

  • 按照地区拆分业务系统部署
  • 将订单或者评论等业务拆分。达到录入和查询等业务分离
  • 系统间的业务交互用soa的方式来做通讯,达到松耦合并行处理
  • 如果有跨机房部署,预先分配各个机房业务资源。例如,基于各地买票量调整南北方机房系统的各自总票数
  • 分流人群,将不同的业务调整成为不同时间执行。对于不符合条件的预订和查询,直接转到友好提示页面


5、事务处理

按照业务进行事务处理,尽量不要做成一个大的事务,在业务流程设计上,尽量做到事务精简,逻辑严密。

例如:订票流程和支付流程作为两个业务。或者支付业务拆分成给账户充值+账户扣费两个逻辑


6、部署策略

针对南北机房做互通

各个系统应用集群

各个系统部署在相同网段,并用内网ip做host指向,减少网络压力

跨机房部署考虑预先分配调整资源方式


7、网络层次

控制各个应用系统节点的压力,当部分节点的用户量达到一定限额,将用户跳到友好页


8、防抓取爬虫

防止部分爬虫自动买票。对于单个ip做分析防范。发现后立即封锁ip

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
软考新思维--2017年上半年信息系统项目管理师上午试题分析与答案(试题26-30题)
软考新思维--2017年上半年信息系统项目管理师上午试题分析与答案(试题26-30题) 26.以下关于UML(Unified Modeling Language,统一建模语言)的叙述中,不正确的是:()A、UML适用于各种软件开发方法B、UML适用于软件生命周期的各个阶段C、UML不适用于迭代式的开发过程D、UML不是编程语言参考答案: 26. (C) 27.面向对象的软件开发过程是用例驱动的,用例是UML的重要部分,用例之间存在着一定的关系,下图表示的是用例之间的()关系。
987 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
28735 0
软考新思维--2017年上半年信息系统项目管理师上午试题分析与答案(试题46-50题)
软考新思维--2017年上半年信息系统项目管理师上午试题分析与答案(试题46-50题) 46.()不属于风险管理计划编制的成果A、风险类别B、风险概率C、风险影响力的定义D、风险记录参考答案: 46. (D) 47.赫兹伯格的双因素激励理论中的激励因素类似于马斯洛的需求层次理论中的“()”。
945 0
操作系统的文件系统思考
文件系统是操作系统的一部分,最终是目的是管理文件。   操作系统中之所以产生文件的概念,是为了方便多个进程可以共享一些数据,那么这些数据就要存储在磁盘上。多个进程可以进行访问。   把文件看成是磁盘上的地址空间。
792 0
软考新思维--2017年上半年信息系统项目管理师上午试题分析与答案(试题6-10题)
         2017年上半年信息系统项目管理师上午试题分析与答案(试题1-5题) 6.()不是获取需求的方法。A、问卷调查B、会议讨论C、获取原型D、决策分析【软考新思维】需求是获取的得来的,不是决策得来的。
829 0
软考新思维--2017年上半年信息系统项目管理师上午试题分析与答案(试题16-20题)
2017年上半年信息系统项目管理师上午试题分析与答案(试题16-20题) 16.信息系统的安全威胁分成七类,其中不包括()A、自然事件风险和人为事件风险B、软件系统风险和软件过程风险C、项目管理风险和应用风险D、功能风险和效率风险参考答案: 16.
1062 0
软考新思维--2017年上半年信息系统项目管理师上午试题分析与答案(试题21-25题)
2017年上半年信息系统项目管理师上午试题分析与答案(试题21-25题) 21.以下关于综合布线的叙述中,正确的是:()A、综合布线系统只适用于企业、学校、团体,不适合家庭B、垂直干线子系统只能用光纤介质传输C、处于安全考虑,大型楼宇的设备间和管理间必须单独设置D、楼层配线架不一定在每一楼层都要设置考答案: 21. (D) 22.在进行网络规划时,应制定全网统一的网络架构,并遵循统一的通信协议标准,使符合标准的计算机系统很容易进行网络互联,这体现了网络规划的()原则。
1173 0
软考新思维--2017年上半年信息系统项目管理师上午试题分析与答案(试题36-40题)
2017年上半年信息系统项目管理师上午试题分析与答案(试题36-40题) 下图是某项目的箭线图(时间单位:周),其关键路径是(36),工期是(37)周。 (36)A、1-4-6-8-10-11        B、1-3-9-11   C、1-4-9-11       D、1-2-5-7-11 ...
936 0
+关注
54
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载