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

news/2024/5/15 3:22:42/文章来源:https://blog.csdn.net/weixin_34220623/article/details/86074823

 动态应用,是相对于网站静态内容而言,是指以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,通过开发相应的脚本工具实现服务器集群间代码同步分发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_789161.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Python-Flask实现的网站例子

概述 使用Flask写的体育网站 包括(注册 论坛 文章评论 组建战队 后台管理)等功能 示例地址文中有写 萌新 请多指教详细 代码下载:http://www.demodashi.com/demo/12380.html 项目示例地址: 网站演示 一、环境搭建 1. 安装配置python3.6 示例网…

Web应用网站CDN加速访问技术原理

CDN全称Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络&#xff0c…

swf游戏保存进度_告别模拟器,一个网站,让你重温所有红白机、街机游戏

相信很多人都和我一样小时候的记忆第一次接触游戏听到的第一个声音便是小霸王,其乐无穷还记得当时忽悠老爹给我买时说是为了学习打字不知还有没有人记得下面这些绝版游戏我承认当时买了小霸王后第一件事的确是认(zhuang)认(mu)真(zuo)真(yang)地练习打字等老爹欣慰地…

Windows Server 2008 IIS下部署网站出现的问题

1. 无法识别“targetFramework” 用的是vs2010,应用.NET Framework 4创建的网站放在IIS(7.0)下会出现如下的错误:版本信息显示.NET Framework和ASP.NET的版本都是2.0,而我们制作网站的时候使用的.NET Framework 4.0&am…

校内闲鱼网站风险分析与会议内容

风险分析 1、技术风险 前端前端所有页面统计共有11个,可能还有一些细节的页面没有考虑到,而我们团队前端技术人员只有两人,存在的风险是可能不能按时完工。 应对措施:提早开工前端页面的代码设计,每一天都需要实现相应…

一般人不知道的SEO术语!!!

SEO就是Search Engine Optimization的缩写,中文就是搜索引擎优化。PR 值全称为PageRank(网页级别),是Google用于用来标识网页的等级、重要性的一种方法,是Google用来衡量一个网站的好坏的重要标准之一。SEM 搜索引擎营销,SEM常常是指通过付费和广告向搜索…

如何使用阿里云快速搭建个人网站

一、准备 1.windows本地远程连接Linux主机工具: XShell:http://xshellcn.com putty:http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html cmder:https://cmder.net/ 2.远程上传文件至Linux主机: winscp&am…

网站能拿到其他网站的cookie_当网站安全漏洞来袭,没有谁还能拒绝网站安全监测和加固的服务!...

当下,随着互联网不断的发展,网站出现漏洞的频率以及网站被攻击的概率越来越高,这时候,网站安全问题如何解决呢?现在我们能做的就是做好预防工作。下面,蒙特给大家分享一些网站预防措施,有多重要&#xff0…

恶意网站可利用浏览器扩展 API,窃取浏览器数据

开发四年只会写业务代码,分布式高并发都不会还做程序员? 恶意网站可以利用浏览器扩展 API,在浏览器内执行代码,来窃取用户敏感信息,比如用户书签、历史浏览记录和 cookies。在这之后,攻击者可能劫持用户的…

在服务器上用IIS部署搭建网站教程

IIS,和apche一样是一种web服务器,有了这种服务器,我们的网站程序或其他web程序才可以正常运行。这里就教新手在服务器上怎么用IIS部署搭建一个网站。 使用iis 搭建网站 1.开始→管理工具→internet信息服务(iis)管理…

基于jQuery的网站首页宽屏焦点图幻灯片

今天给大家分享一款基于jQuery的网站首页宽屏焦点图幻灯片。这款焦点图适用浏览器&#xff1a;IE8、360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗。效果图如下&#xff1a; 在线预览 源码下载 实现的代码。 html代码&#xff1a; <!-- index-focus begin -…

有趣人物为你讲述网站开发过程

虽然这个流程与真实有点出入&#xff0c;但基本是这意思了。开发过程中三个角色&#xff1a;程序员&#xff0c;设计师和客户步骤1&#xff1a;项目讨论在接到项目后首先需要开项目开发讨论会&#xff0c;讨论网站的栏目&#xff0c;开发方向&#xff0c;文字内容和图片等等。步…

网站域名可以绑定2个服务器吗,服务器可以绑定几个域名

服务器可以绑定几个域名 内容精选换一换您可以通过Web应用防火墙服务对不再防护的网站执行删除操作。如果您已开通企业项目&#xff0c;您可以在企业项目下拉列表中选择您所在的企业项目&#xff0c;删除该企业项目下域名。已添加防护域名。防护网站部署模式为云模式时&#xf…

宝塔利用同一个ip的不同端口号架设多个网站

在成功利用****阿里云服务器以及宝塔搭建了公网ip下的网站之后&#xff0c;想在该ip下继续更换端口继续搭建其他网站&#xff0c;结果发现一直提示&#xff0c;添加的站点已经存在&#xff1a; 这里我先前创立的是80端口&#xff0c;现在想换成88端口&#xff0c;就还是会提示站…

超酷的测速网站Ookla SPEEDTEST

测试网速的工具、网站估计不少&#xff0c;在百度一搜都能搜出一大堆&#xff0c;下面介绍一个国外测试网速的网站&#xff0c;用户体验相当棒&#xff0c;感觉酷毙了&#xff0c;那些其它测试网速的网站跟这个比起来&#xff0c;简直弱毙了。这个网速测试网站就是&#xff1a;…

Nginx配置SSL证书部署HTTPS网站

一、什么是 SSL 证书&#xff0c;什么是 HTTPSSSL 证书是一种数字证书&#xff0c;它使用 Secure Socket Layer 协议在浏览器和 Web 服务器之间建立一条安全通道&#xff0c;从而实现&#xff1a;1、数据信息在客户端和服务器之间的加密传输&#xff0c;保证双方传递信息的安全…

样式问题-如何一次性设置网站英文字体样式,中文字体等样式

异常处理汇总-前端系列 http://www.cnblogs.com/dunitian/p/4523015.html 今天才发现&#xff0c;CSS 的 font-family 属性 的基本能力之一就是依其列表内字体的排序&#xff08;优先级&#xff09;来显示文字。 如果设定为「font-family: "英文字体", "中文字…

必选项:你的网站易于阅读吗?

当我们设计网站时&#xff0c;我们在想什么&#xff1f;——设计引人注目吗&#xff1f;便于理解吗&#xff1f;有品牌关联吗&#xff1f;……其实最先需要思考的是&#xff0c;文字可以被容易阅读吗&#xff1f; 微软估值高达340亿美元&#xff0c;拥有着一支由设计师、研究员…

电商网站首页商品分类列表功能实现

首先我们看下这个功能实现的效果&#xff1a; 后期理解补充&#xff1a; 其实这个功能的关键点就是分析这个模块的数据格式怎么样的&#xff1f; 对于这种商品列表展示的功能&#xff1a; 我们思路如下&#xff1a; 第一&#xff1a;开始展示的都是顶级列表&#xff0c;即paren…

教育部网站被***事件的一点小说明

刚才上网说教育部网站被黑了。 有图&#xff1a; 有地址&#xff1a;http://www.moe.gov.cn/sofprogecslive/1.jsp 截止本文发布&#xff0c;该地址仍能打开。从目录得到的信息来看&#xff0c;只是利用某种漏洞成功上传了文件&#xff0c;并未得到其他权限或更深层次的东西。 …