logo资料库

大型门户网站架构设计.docx

第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
资料共13页,剩余部分请下载后查看
大型门户网站问题分析与架构进阶设计
1 三层架构简介
1.1 三层架构原理
1.2 三层架构设计原则
1.3 三层架构的优缺点
2 大型门户网站架构的进阶设计
2.1 门户网站主要特点
2.2 初始架构及问题分析
2.3 架构进阶1—服务器分离
2.4 架构进阶2—缓存技术
2.5 架构进阶3—集群和负载均衡
2.6 架构进阶4—数据库读写分离
2.7 架构进阶5—CDN加速网站响应
2.8 架构进阶6—分布式数据库和分布式文件系统
2.9 架构进阶7—业务拆分
2.10 网站性能优化—浏览器优化
3 总结
中国矿业大学计算机学院 2015 级本科生课程报告 课程名称 软件架构设计 报告时间 2018-5-15 学生姓名 陈洁 学 专 号 08153324 业 计算机科学与技术 任课教师 王志晓
课程报告评分表 序 号 毕业 要求 课程教学目标 考查方式与考查点 占比 得分 目标 1: 在充分理解计算机软硬件 及系统的基础上,能够设计 针对所给定的复杂工程 针对计算机领域复杂工程 问题,进行较为完善的 1 3.4 问题的解决方案,设计或开 需求分析,并给出针对 60% 发满足特定需求和约束条 该问题的软件架构解决 件的软硬件系统、模块或算 方案。 法流程,并能够进行模块和 系统级优化。 目标 2: 具有良好的团队意识, 能够在团队中做好自己所 能够在复杂工程问题架 2 9.2 承担的个体、团队成员以及 构设计中较好地完成自 40% 负责人等各种角色,并具备 己所担负的角色及任 良好的团队意识。 务。 总分 100% 评阅人: 年 月 日
摘 要 在第一次研讨中,根据以往开发过程中使用且较为熟悉的软件框架结构来进 行框架的设计与分析,所以选择了基本的三层架构。在第二次研讨中,需要设计 一个基于云架构的大型门户网站,而基础三层架构会让网站在未来随着用户规模 的增加、数据堆积等的运行及维护遇到一些困难,因此面对网站运行时可能遇到 的一些问题进行了分析,接着根据各个问题提出解决方案,改进网站架构,保证 了所设计网站的稳定运行。同时对其进行了一些优化,提高了网站的整体性能。 【关键词】三层架构 服务器分离 数据库分离 集群 负载均衡 分布式 CDN
目 录 大型门户网站问题分析与架构进阶设计 ............................... 5 1 三层架构简介 ................................................... 5 1.1 三层架构原理 ............................................. 5 1.2 三层架构设计原则 ......................................... 6 1.3 三层架构的优缺点 ......................................... 6 2 大型门户网站架构的进阶设计 ..................................... 7 2.1 门户网站主要特点 ......................................... 7 2.2 初始架构及问题分析 ....................................... 7 2.3 架构进阶 1—服务器分离 ....................................8 2.4 架构进阶 2—缓存技术 ......................................8 2.5 架构进阶 3—集群和负载均衡 ................................9 2.6 架构进阶 4—数据库读写分离 ................................9 2.7 架构进阶 5—CDN 加速网站响应 ............................. 10 2.8 架构进阶 6—分布式数据库和分布式文件系统 .................11 2.9 架构进阶 7—业务拆分 .....................................12 2.10 网站性能优化—浏览器优化 ............................... 12 3 总结 .......................................................... 13 小组研讨内容:《网上书城电商网站架构分析》、《基于云架构的大型教育门 户网站》 主要参与工作: PPT 内容优化、布局排版、动画、美术设计与制作;两次研 讨框架选定;第一次研讨框架设计;第二次研讨的资料整合、筛选及纠错。 本次报告主题:《大型门户网站问题分析与架构进阶设计》
大型门户网站问题分析与架构进阶设计 1 三层架构简介 1.1 三层架构原理 (1)应用表现层: 位于系统的最外层(最上层),离用户最近。用于显示数 据和接收用户输入的数据,只提供软件系统与用户交互的界面. (2)业务逻辑层:位于表示层和数据访问层之间,专门负责处理用户输入的 信息,或者是将这些信息发送给数据访问层进行保存,或者是通过数据访问层从 数据库读出这些数据。业务逻辑层是表示层和数据访问层之间的桥梁,负责数据 处理和传递. (3)数据访问层:仅实现对数据的保存和读取操作。数据访问包括访问数据 库系统、二进制文件、文本文档或是 XML 文档。数据访问层只负责对数据库的操 作。 图 1-1 三层架构图
1.2 三层架构设计原则 (1)抽象化 在软件开发中,运用抽象的概念可以问题的求解过程分层,在不同的抽象层 上实现难度的分解。可以将琐碎的细节暂时隐藏起来,以利于解决系统中全局的 问题。软件开发过程中从问题定义到最终的软件生成,每一阶段都是在前一阶段 的基础上对软件求解方案的抽象层上的一次求精和细化。 (2)模块化 模块又称构件。一个模块可以用外部特性和内部特性来表示,外部特性指的 是模块的模块名、参数表,以及给系统造成的影响;内部特性是指完成其功能的 程序代码和仅供该模块内部使用的数据,软件设计的时候,通常是先确定模块的 外部特性,再确定它的内部特性 (3)信息隐蔽 每个模块的实现细节对于其他模块来说是隐蔽的,模块中所包含的信息不允 许其他不需要这些信息的模块使用。由于一个模块在整个软件生存周期内要经过 多次修改,所以在划分模块时要采取措施,使得大多数过程和数据对软件的其他 部分是隐蔽的,这样在将来修改软件时偶然引起的错误造成的影响就可以局限在 一个或几个模块内部,不至于波及软件的其他部分。 (4)模块的功能独立性:高内聚低耦合。 1.3 三层架构的优缺点 优点: (1)可以充分把软件开发任务分解,有利于团队合作开发。某一层次开发人 员只需关注改层所需要直接关注的内容。 (2)软件适应性强,代码复用性高。一旦有什么需求变动可很快进行代码更 改,且某一层的变化不影响其它层次。 缺点: (1)代码量过多,层层调用,执行速度慢。 (2)不适用于对执行速度要求非常高的系统。三层架构提高项目松散型和降 低项目的耦合度使之更易扩展及维护。
2 大型门户网站架构的进阶设计 2.1 门户网站主要特点 (1)数据海量(2)在线人数多(3)并发控制(4)响应速度控制 2.2 初始架构及问题分析 初始架构: 基本的三层架构,仅有一台服务器,应用程序、数据库、文件等所有资源均 在这台服务器上。一般是 Linux+Apache+Mysql+PHP 架构。 问题分析: 图 2-1 初始架构 (1)用户访问增加导致性能越来越差,影响因素主要有:网络负载,数据库 服务器性能,web 服务器性能等。 (2)数据累积导致存储空间不足。需改进针对海量数据的存储和管理。 (3)不同网络服务商、不同地域网络接入速度不同。需稳定或加快网站访问 速度, (4)若爆发网络访问高峰期,服务器能处理请求连接数有限。需采取相应并 发控制。 (5)不同业务场景及逻辑依靠单一业务逻辑处理过于复杂,需对不同业务有 针对性的进行单一处理。
2.3 架构进阶 1—服务器分离 首先将单一服务器上的应用和数据分离,拆分成应用服务器、文件服务器和 数据库服务器: 图 2-2 服务器分离 2.4 架构进阶 2—缓存技术 使用缓存改善网站性能,缓存使用分为两种: (1)缓存在应用服务器上:访问速度更快一些,但是受应用服务器内存限制, 其缓存数据量有限,而且会出现和应用程序争用内存的情况; (2)专门的分布式缓存服务器:可以使用集群的方式,部署大内存的服务 器作为专门的缓存服务器,可以在理论上做到不受内存容量限制的缓存服务。 将需要频繁访问的网络内容存放在离用户较近、访问速度更快的系统中,以 提高内容访问速度: 图 2-3 分布式缓存
分享到:
收藏