网站架构设计技术方案(火车票订票系统)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
xxx市xxxxx网管理中心
火
车
票
网
络
订
票
系
统
方
案
二零一二年二月
1 总体设计说明 (2)
1.1 项目概述 (2)
1.2 建设目标 (2)
1.3 建设原则 (2)
2 系统需求分析 (3)
2.1 服务器集群 (3)
2.2 负载均衡 (3)
2.3 数据库集群与库表散列 (3)
2.4 划分服务器 (4)
2.5 不同网络用户的访问问题 (4)
3 系统架构设计 (4)
3.1 网站物理架构 (4)
3.2 Web应用开发架构 (5)
3.3 网络拓扑结构 (6)
4 架构方案所涉及的技术 (7)
4.1 负载均衡 (7)
4.2 页面静态化 (8)
4.3 MVC架构 (9)
4.4 CDN和镜像网站技术 (10)
5 网站的硬件扩容和升级 (11)
5.1 增加服务器 (11)
5.2 升级服务器 (11)
5.3 增加存储 (11)
5.4 网络扩容 (12)
实习生:杨茂饶火车票网络订票系统设计方案
1 总体设计说明
1.1 项目概述
本次火车票网络订票系统项目是因为当前铁路局网上订票系统设计不合理造成用户订票难等原因而要求重新设计的。我们先前的火车票网络订票系统最主要的问题是在遭受高负载的情况下系统不能正常的运行,所以此问题也是该方案所要重点解决的。当此项目建成后,我们的火车票网络订票系统将大大减轻实地售票系统、电话订票系统的压力,使用户足不出户就能享受快速、高效的订票服务。
1.2 建设目标
该订票系统的设计要能解决当前网络订票系统订票难的问题,在高负载情况下要保证系统的正常工作。系统的建设要符合国家标准,必须要能满足当前大量用户的订票需求,能承受或杜绝同一个用户频繁对页面的点击所产生的流量。充分发挥订票系统的作用和效益。该系统采用先进成熟的技术进行建设并能根据需要为以后系统的升级做好准备。
1.3 建设原则
1.3.1 实用性
本次火车票订票系统要根据当前用户订票需求情况和系统未来的规划进行设计。结合实际使系统的性价比达到最高。
1.3.2 可靠性
系统的设计要使之能长期稳定的运行,当遇到问题的时候还要能够快速有效的恢复。
1.3.3 安全性
确保系统的线路设计和设备是否能安全正常工作,保证用户信息不向外泄漏。
1.3.4 兼容性与扩展性
本次网络订票系统的设计上采用先进成熟的技术设备,以保障系统的高效运行,也是为系统的扩充和升级做好准备。
1.3.5 专业性
系统的设计遵照国家标准,符合国家要求。
1.3.6 易管理性
系统的设计要便于管理,方便日常维护中的操作。
2 系统需求分析
由于火车票网络订票系统建成后是为我们中国13亿人提供订票服务的,将不可避免的遭受由大量网页点击造成的网络高流量、高负载的情况。所以要求此系统要能克服这种严重的状况,保证整个系统正常、安全、可靠的运行。最终方便用户订票。
为了满足以上要求,该方案需要采取服务器集群、负载均衡、数据库划分、图片服务器分离等,不仅如此,还要考虑不同网络用户的访问问题。
2.1 服务器集群
服务器集群就是指把很多的服务器统一集中起来进行同一种服务,在客户端看起来就像是只有一个服务器在提供服务。集群可以利用多个计算机进行并行计算从而获得更高的计算速度,也可以使用多个计算机做备份,并且能使其中一台计算机坏了后整个系统依然能正常运行。此系统采用服务器集群技术,集群内的服务器能并发的处理来自网络的访问请求,当访问量过大时,各服务器共同承担访问处理的任务,这将大幅的提高系统的工作效率。除此之外,还可以根据需求添加集群中服务器的数量以增大集群的处理能力。
2.2 负载均衡
负载均衡就是把从网络中传输进系统的流量根据系统的实际工作情况进行分流和划分,然后再传输到各服务器进行处理。在此方案中将采用负载均衡器和Squid/Nginx反向代理服务器实现此功能,负载均衡器需要被放置在临近服务器集群的位置。由于采用的是服务器集群技术,但当网站系统访问量很大时,Web 服务器集群里的各个服务器压力都会很大,所以我们使用负载均衡器来管理这些访问请求,把这些访问请求传输给集群中有空闲资源的服务器进行处理。这样就能充分的利用服务器集群的优势,不至于因为集群内一台服务器资源耗尽或出现故障而中断服务。
2.3 数据库集群与库表散列
数据库服务器在整个系统的地位非常的重要,因为网站的瓶颈问题大都出现在数据库身上。大型网站都有复杂的应用,这些应用必须使用数据库,在面对大量访问的时候,数据库的瓶颈很快就能显现出来,这时一台数据库将很快无法满足应用,于是我们需要使用数据库集群或者库表散列。
1.数据库集群
在数据库集群方面,不同类型的数据库都有自己不同的解决方案,使用了什么样的数据库,就参考相应的解决方案。
2. 库表散列
在应用程序中安装业务和应用或者功能模块将数据库进行分离,不同的
模块对应不同的数据库或者表,再按照一定的策略对某个页面或者功能进行更小的数据库散列,这样就能够低成本的提升系统的性能并且有很好的扩展性。
2.4 划分服务器
按服务器种类来划分,我们一般把服务器划分为:图片服务器、页面服务器、数据库服务器、应用服务器、日志服务器等。对于访问量大的网站而言,分离单独的服务器是非常必要的。分离服务器后各个服务器只需要完成各自的功能和处理任务,这样把工作细化后系统的整体运行效率也会提升很多。
2.5 不同网络用户的访问问题
由于处于不同网络服务商的计算机想要相互通讯会比在同一网络服务商的计算机慢。为了解决此问题,本系统将通过引入CDN和镜像网站技术来解决不同网络服务商的接入速度问题。
3 系统架构设计
3.1 网站物理架构
整个系统架构组成如图所示,该架构有负载均衡器、Nginx代理服务器集群