浅谈大型网站动态应用系统架构

上传人:飞*** 文档编号:4917974 上传时间:2017-08-27 格式:PDF 页数:3 大小:78.78KB
返回 下载 相关 举报
浅谈大型网站动态应用系统架构_第1页
第1页 / 共3页
浅谈大型网站动态应用系统架构_第2页
第2页 / 共3页
浅谈大型网站动态应用系统架构_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《浅谈大型网站动态应用系统架构》由会员分享,可在线阅读,更多相关《浅谈大型网站动态应用系统架构(3页珍藏版)》请在金锄头文库上搜索。

1、浅谈 大型 网站动 态应 用系统 架构动态应用 , 是相对于网站静态内容而言 , 是指以 c/c+、 php、 Java、 perl、 .net等服务器 端语言开发的网 络应用软件,比如 论坛、网络相册 、交友、 BLOG等常见应用 。 动态应用系统通常与数据库系统 、 缓存系统 、 分布式存储系统等密不可分。大型动态应用系统平台主要是针对于大流量 、 高并发网站建立的底层系统架构 。 大型网站的运行需要一个可靠 、 安全 、 可扩展 、 易维护的应用系统平台做为支撑,以保证网站应用的平稳运行。大型动态应用系统又可分为几个子系统:1)Web前端系统2)负载均衡系统3)数据库集群系统4)缓存系统

2、5)分布式存储系统6)分布式服务器管理系统7)代码分发系统Web前端系统为了达到不同应用的服务器共享 、 避免单点故障 、 集中管理 、 统一配置等目的 , 不以应用划分服务器 , 而是将所有服务器做统一使用 , 每台服务器都可以对多个 应用提供服务,当某些应用访问量升高时,通过增加服务器节点达到整个服 务 器 集 群 的 性 能 提 高 , 同 时 使 他 应 用 也 会 受 益 。 该 Web 前 端 系 统 基 于Apache/Lighttpd/Eginx等的虚拟主机平台 , 提供 PHP程序运行环境 。 服务器对开发人员是透明的,不需要开发人员介入服务器管理负载均衡系统负载均衡系统分为

3、硬件和软件两种。硬件负载均衡效率高,但是价格贵 , 比如 F5等。软件 负载均衡系统价 格较低或者免费, 效率较硬件负载 均衡系统低,不过对于 流量一般或稍大 些网站来讲也足够 使用,比如 lvs, nginx。大多数 网站都是硬件、软件负载均衡系统并用。数据库集群系统由于 Web前端采用了负载均衡集群结构提高了服务的有效性和扩展性 , 因此数据库必须也是高可靠的 , 才能保证整个服务体系的高可靠性 , 如何构建一个高可靠的、可以提供大规模并发处理的数据库体系 ?我们可以采用如上图所示的方案:1) 使用 MySQL数据库 , 考虑到 Web应用的数据库读多写少的特点 , 我们主要对读数据库做了

4、优化 , 提供专用的读数据库和写数据库 , 在应用程序中实现读操作和写操作分别访问不同的数据库。2) 使用 MySQLReplication机制 实现快 速将主 库 ( 写库 ) 的数 据库复 制到从库 ( 读库 ) 。一个主库对应多个从库,主库数据实时同步到从库。3) 写数据库有多台,每台都可以提供多个应用共同使用,这样可以解决写库的性能瓶颈问题和单点故障问题。4) 读数据库有多台,通过负载均衡设备实现负载均衡,从而达到读数据库的高性能、高可靠和高可扩展性。5) 数据库服务器和应用服务器分离。6) 从数据库使用 BigIP做负载均衡。缓存系统缓存分为文件缓存 、 内存缓存 、 数据库缓存 。

5、 在大型 Web应用中使用最多且效率最高的是内存缓存 。 最常用的内存缓存工具是 Memcached。 使用正确的缓存系统可以达到实现以下目标:1 、 使用缓存系统可以提高访问效率 , 提高服务器吞吐能力 , 改善用户体验 。2 、减轻对数据库及存储集服务器的访问压力。3 、 Memcached服务器有 多台,避免单点 故障,提供高可靠 性和可扩展性,提高性能。分布式存储系统Web系统平台中的存储需求有下面两个特点:1) 存储量很大,经常会达到单台服务器无法提供的规模,比如相册、视频等应用。因此需要专业的大规模存储系统。2) 负载均衡 cluster中的每个节点都有可能访问任何一个数据对象,每

6、个节点对数据的处理也能被其他节点共享 , 因此这些节点要操作的数据从逻辑上看只能是一个整体,不是各自独立的数据资源。因此 高性能的 分布式存 储系统对 于大型 网站应用 来说是非 常重要的 一环。( 这个地方需要加入对某个分布式存储系统的简单介绍。 )分布式服务器管理系统随着网站访问流量的不断增加 , 大多的网络服务都是以负载均衡集群的方式对外提供服务 , 随之集群规模的扩大 , 原来基于单机的服务器管理模式已经不能够满足我们的需求 , 新的需求必须能够集中式的 、 分组的 、 批量的 、 自动化的对服务器进行管理,能够批量化的执行计划任务。在分布式服务器管理系统软件中有一些比较优秀的软件 ,

7、 其中比较理想的一个是 Cfengine。 它可以对服务器进行分组 , 不同的分组可以分别定制 系统配置文件、计 划任务等配置。 它是基于 C/S 结构的, 所有的服务器配 置和管理脚本程序都保存在 CfengineServer上,而被管理的服务器运行着 CfengineClient程序, CfengineClient通过 SSL加密的连接定期的向服务器端发送请求以获取最新的配置文件和管理命令、脚本程序、补丁安装等任务。有了 Cfengine这种集中式的服务器管理工具,我们就可以高效的实现大规模的服务器集群管理 , 被管理服务器和 CfengineServer可以分布在任何位置 ,只要网络可以连通就能实现快速自动化的管理。代码发布系统随着网站访问流量的不断增加 , 大多的网络服务都是以负载均衡集群的方式对外提供服务 , 随之集群规模的扩大 , 为了满足集群环境下程序代码的批量分发和更新,我们还需要一个程序代码发布系统。本文由 不锈钢管 整理编辑 http:/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 技术指导

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号