大型网站动态运用体系架构浅析

2016-12-07    分类: 动态网站

动态运用,是相对于网站静态内容而言, 是指以c/c++、php、Java、perl、.net等 服务器端言语开发的网络运用软件,比方论坛、网络相册、交友、BLOG等常见运用。动态运用体系通 常与数据库体系、缓存体系、分布式存储体系等密不可分。

大型动态运用体系渠道主要是针对于大流 量、高并发网站树立的底层体系架构。大型网站的运转需求一个牢靠、安全、可扩展、易保护的运用体系渠道做为支撑,以保证网站运用的平稳运转。

大型动态运用体系又可分为几个子体系:

1.Web前 端体系

2.负载均衡体系

3.数据库集群体系

4.缓存体系

5.分布式存储体系

6.分布式服务器办理体系

7.代码分发体系

8.Web前端体系

结构图:

为了到达不同运用的服务器共享、防止单点故障、会集办理、一致装备等目的,不以运用区分服 务器,而是将一切服务器做一致运用,每台服务器都能够对多个运用供给服务,当某些运用拜访量升高时,经过添加服务器节点到达整个服务器集群的功能进步,同 时使他运用也会受益。

该Web前端体系根据Apache/Lighttpd/Eginx等 的虚拟主机渠道,供给PHP程序运转环境。服务器对开发人员是通明的,不需求开发人员介入服务器办理

负载均衡体系

负载均衡体系分为硬件和软件两种。硬件负载均衡功率高,可是价格贵,比方F5等。软件负载均衡体系价格较低或者免费,功率较硬件负载均衡体系 低,不过对于流量一般或稍大些网站来讲也足够运用,比方lvs,nginx。大多数网站都是硬件、软件负载均衡体系并用。

数据库集群体系

结构图:

大型网站动态运用体系架构浅析(图三)

由于Web前端选用了负载均衡集群结构进步了服务的有效性和扩展性,因而数据库有必要也是高牢靠的才干保证整个服务体系的高牢靠性,怎么构建一个高牢靠的、能够供给大规模并发处理的数据库体系?

咱们能够选用如上图所示的方案:

1)运用 MySQL 数据库,考虑到Web运用的数据库读多写少的特色,咱们主要对读数据库做了优化,供给专用的读数据库和写数据库,在运用程序中完成读操作和写操作别离拜访不同的数据库。

2)运用 MySQL Replication 机制完成快速将主库(写库)的数据库复制到从库(读库)。一个主库对应多个从库,主库数据实时同步到从库。

3)写数据库有多台,每台都能够供给多个运用共同运用,这样能够解决写库的功能瓶颈问题和单点故障问题。

4)读数据库有多台,经过负载均衡设备完成负载均衡,然后到达读数据库的高功能、高牢靠和高可扩展性。

5)数据库服务器和运用服务器分离。

6)从数据库运用BigIP做负载均衡。

缓存体系

缓存分为文件缓存、内存缓存、数据库缓存。在大型Web运用中运用最多且功率高的是内存缓存。最常用的内存缓存东西是Memcachd。运用正确的缓存体系能够到达完成以下方针:

1、运用缓存体系能够进步拜访功率,进步服务器吞吐能力,改善用户体会。

2、减轻对数据库及存储集服务器的拜访压力

3、Memcached服务器有多台,防止单点故障,供给高牢靠性和可扩展性,进步功能。

分布式存储体系

结构图:

WEB体系渠道中的存储需求有下面两个特色:

1) 存储量很大,经常会到达单台服务器无法供给的规模,比方相册、视频等运用。因而需求专业的大规模存储体系。

2) 负载均衡cluster中的每个节点都有可能拜访任何一个数据对象,每个节点对数据的处理也能被其他节点共享,因而这些节点要操作的数据从逻辑上看只能是一个全体,不是各自独立的数据资源。

因而高功能的分布式存储体系对于大型网站运用来说是非常重要的一环。(这个地方需求加入对某个分布式存储体系的简单介绍。)

分布式服务器办理体系

结构图:

跟着网站拜访流量的不断添加,大多的网络服务都是以负载均衡集群的方法对外供给服务,随之集群规模的扩展,原来根据单机的服务器办理模式现已不能够满意咱们的需求,新的需求有必要能够会集式的、分组的、批量的、自动化的对服务器进行办理,能够批量化的执行计划任务。

在分布式服务器办理体系软件中有一些比较优异的软件,其中比较抱负的一个是 Cfengine。它能够对服务器进行分组,不同的分组能够别离定制体系装备文件、计划任务等装备。它是根据C/S 结构的,一切的服务器装备和办理脚本程序都保存在Cfengine Server上,而被办理的服务器运转着 Cfengine Client 程序,Cfengine Client经过SSL加密的连接定期的向服务器端发送恳求以获取最新的装备文件和办理命令、脚本程序、补丁装置等任务。

有了Cfengine 这种会集式的服务器办理东西,咱们就能够高效的完成大规模的服务器集群办理,被办理服务器和 Cfengine Server 能够分布在任何方位,只需网络能够连通就能完成快速自动化的办理。

代码发布体系

结构图:

跟着网站拜访流量的不断添加,大多的网络服务都是以负载均衡集群的方法对外供给服务,随之集群规模的扩展,为了满意集群环境下程序代码的批量分发和更新,咱们还需求一个程序代码发布体系。

这个发布体系能够帮咱们完成下面的方针:

1) 出产环境的服务器以虚拟主机方法供给服务,不需求开发人员介入保护和直接操作,供给发布体系能够完成不需求登陆服务器就能把程序分发到方针服务器。

2) 咱们要完成内部开发、内部测试、出产环境测试、出产环境发布的4个开发阶段的办理,发布体系能够介入各个阶段的代码发布。

3) 咱们需求完成源代码办理和版别操控,SVN能够完成该需求。

这里边能够运用常用的东西Rsync,经过开发相应的脚本东西完成服务器集群间代码同步分发

本文标题:大型网站动态运用体系架构浅析
URL分享:https://www.cdcxhl.com/news/71313.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有做网站动态网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都做网站