浅谈大型网站动态应用系统架构,互联网营销

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

  大型动态应用系统平台主要是针对于大流量、高并发网站建立的底层系统架构。大型网站的运行需要一个可靠、安全、可扩展、易维护的应用系统平台做为支撑,以保证网站应用的平稳运行。

  大型动态应用系统又可分为几个子系统:

  1)Web前端系统

  2)负载均衡系统

  3)数据库集群系统

  4)缓存系统

  5)分布式存储系统

  6)分布式服务器管理系统

  7)代码分发系统

  Web前端系统

  结构图:

 

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

  负载均衡系统

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

  数据库集群系统

  结构图:

  由于Web前端采用了负载均衡集群结构提高了服务的有效性和扩展性,因此数据库必须也是高可靠的,才能保证整个服务体系的高可靠性,如何构建一个高可靠的、可以提供大规模并发处理的数据库体系?

  我们可以采用如上图所示的方案:

  1) 使用 MySQL 数据库,考虑到Web应用的数据库读多写少的特点,我们主要对读数据库做了优化,提供专用的读数据库和写数据库,在应用程序中实现读操作和写操作分别访问不同的数据库。

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

  3) 写数据库有多台,每台都可以提供多个应用共同使用,这样可以解决写库的性能瓶颈问题和单点故障问题。

  4) 读数据库有多台,通过负载均衡设备实现负载均衡,从而达到读数据库的高性能、高可靠和高可扩展性。

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

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

  缓存系统

  缓存分为文件缓存、内存缓存、数据库缓存。在大型Web应用中使用最多且效率最高的是内存缓存。最常用的内存缓存工具是Memcached。使用正确的缓存系统可以达到实现以下目标:

  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,通过开发相应的脚本工具实现服务器集群间代码同步分发。

时间: 2024-10-02 21:26:08

浅谈大型网站动态应用系统架构,互联网营销的相关文章

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

中介交易 SEO诊断 淘宝客 云主机 技术大厅 动态应用,是相对于网站静态内容而言,是指以c/c++.php.Java.perl..net等服务器端语言开发的网络应用软件,比如论坛.网络相册.交友.BLOG等常见应用.动态应用系统通常与数据库系统.缓存系统.分布式存储系统等密不可分. 大型动态应用系统平台主要是针对于大流量.高并发网站建立的底层系统架构.大型网站的运行需要一个可靠.安全.可扩展.易维护的应用系统平台做为支撑,以保证网站应用的平稳运行. 大型动态应用系统又可分为几个子系统: 1)W

浅谈大型网站的SEO策略及如何执行,互联网营销

一.知己知彼1.确定你的竞争对手,通过各种渠道收集同类网站的情报(每日流量,Alexa排名,网站内容规模,在搜索引擎收录表现,关键词排名等等).2.根据已有条件(技术,资金,人员)确定项目的可行性,然后制定具有可执行的SEO策略及可衡量的SEO指标. 二.关键词选取策略做SEO项目中关键词分析是很 重要的环节,直接影响SEO项目的执行!所以关键词选取在网站策划阶段就应该考虑进去,它可以帮助我们分析竞争对手,还可以帮助网站编辑组织内容,为产品策划提供用户需求等等. 选择关键词的基本原则:1.研究用

浅谈大型网站的外链操作

今天想与大家分享一下外链该如何操作?也许对于每位从事SEOER者都深知外链在网站排名的重要性.外链的实质是引导蜘蛛爬取网站.刚迈入SEO行业的人也许都听过"内容为王,外链为皇",可见外链对于SEOER的重要性. 新旧思维寻找外链资源 对于传统外链资源无外乎博客.论坛.书签.问答.及目录等.曾几何时,利用新浪博客.网易博客.SOHU博客操作来提升关键词排名.其中令我们最为惊叹之笔无外乎链轮的操作.如今虽然新浪.网易等博客权重依然很高,但是我们发现蜘蛛并不是很勤快的爬取.我们经常看到一个博

浅谈大型网站开发要注意的几个细节

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 我曾经开发多个大型网站,音乐门户.信息门户.现在开发B2C网站,都是高流量的大型网站.那么我要说的是在开发过程中团队的配合和应需要注意的几个细节:​ ​ 一.程序框架:我们想开发的网站,往往市面上会有很多同类的开源程序,所以大家选择程序上并不难,但是大家不要随便的选择了一个框架,要看该程序的二次开发性能.弊端.结构优化等几方面是否适合自己.以

浅谈医疗网站如何利用歪歪做营销推广

中介交易 SEO诊断 淘宝客 云主机 技术大厅 YY是一种免费的语言软件,经常去YY上玩的朋友肯定会发现如今YY已经成为一种营销平台了,一些SEO培训机构利用YY平台授课,其实也在推广自己的服务.不仅是SEO行业,我想其他行业也能在YY上做营销推广,比如说医疗网站.医疗行业是竞争非常激烈的行业,所以很多医疗行业不得不做百度竞价,因为那些关键词竞争太激烈,想利用SEO获得大量的流量,说实话比较困难.医疗网站的运营者也在尝试其他的推广方式,而YY与QQ相比,YY可以自由语音交谈,并且不需要什么投入,

浅谈web网站架构演变过程

原文:浅谈web网站架构演变过程 前言 我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变.   该系统具备的功能:   用户模块:用户注册和管理 商品模块:商品展示和管理 交易模块:创建交易和管理    阶段一.单机构建网站 网站的初期,我们经常会在单机上跑我们所有的程序和软件.此时我们使用一个容器,如tomcat.jetty.jboos,然后直接使用JSP/servlet技术,或者使用一些开源的框架如maven+spring+struct+hibernate.

浅谈12306核心模型设计思路和架构设计

原文:浅谈12306核心模型设计思路和架构设计 春节期间,无意中看到一篇文章,文章中讲到12306的业务复杂度远远比淘宝天猫这种电商网站要复杂.后来自己想想,也确实如此.所以,很想挑战一下12306这个系统的核心领域模型的设计.一般的电商网站,购买都是基于商品的概念,每个商品有一定量的库存,用户的购买行为是针对商品的.当用户发起购买行为时,系统只需要生成订单并对用户要购买的商品减库存即可.但是,12306就不是那么简单了,具体复杂在哪里,我下面会进一步分析.   另外一个让我写这篇文章的原因,是

浅谈家居网站推广之路后续之博客推广

推广的方式在网上模式很多,站长们也都在依次实验,寻找最适合自己的模式.(浅谈家居网站推广之路-博客推广)这次主要写下自己的博客推广中的一些细节问题,因为网站的推广是个系统的工作,http://www.aliyun.com/zixun/aggregation/7217.html">细节决定成败,我还是比较欣赏这句话! 博客推广之:专注! 很多人在讲到博客推广的时候都讲到在很多博客平台开博同时宣传,我不是很赞成这种做法,现在开博的人多如牛毛,左右开弓的方法已经不再适合,不如专注于自己的领域中,

浅谈学校网站的建设

浅谈学校网站的建设      在包罗万象的网络世界里,要制作一个具有学校特色的网页是需要一定方法与技巧.下面我对学校网页的制作浅谈自己的几点意见. 一:定位好网站的主题和名称 1.主题要有特色而且精巧.定位要有学校特色,内容要精巧.如果想制作一个包罗万象的站点,把所有认为精彩的东西都放在上面,那么往往会事与愿违,给人的感觉是没有主题,没有特色,样样有却样样都很肤浅,因为不可能有那么多的精力去维护它.网络的最大特点就是新和快,目前最热门的主页都是天天更新甚至几小时更新一次.最新的调查结果也显示,网