Web前端系统

  为了达到不同应用的服务器共享、避免单点故障、集中管理、统一配置等目的,不以应用划分服 务器,而是将所有服务器做统一使用,每台服务器都可以对多个应用提供服务,当某些应用访问量升高时,通过增加服务器节点达到整个服务器集群的性能提高,同时使他应用也会受益。

  该Web前端系统基于IIS/ASP.NET等的虚拟主机平台,提供PHP程序运行环境。服务器对开发人员是透明的,不需要开发人员介入服务器管理。

  负载均衡系统

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

  数据库集群系统

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

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

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

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

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

ASP.NET 构建高性能网站 架构设计相关推荐

  1. 高性能网站架构设计之缓存篇(5)- Redis 集群(上)

    2019独角兽企业重金招聘Python工程师标准>>> 集群技术是构建高性能网站架构的重要手段,试想在网站承受高并发访问压力的同时,还需要从海量数据中查询出满足条件的数据,并快速响应 ...

  2. 大规模高性能网站架构设计思路整理

    近期关注了一些主流高并发大型网站如:大众点评.携程.去哪儿等 整理实现思路如下: 一.第一步 1.js .CSS.图片 优化压缩 2.站点动静分离,将动态网站单独部署.静态网站单独部署 3.数据库读写 ...

  3. 高性能网站架构设计之缓存篇(6)- Redis 集群(中)

    昨天晚上钓鱼回来,大发神经,写了篇概括程序员生活现状的文章,没想到招来众多人的口诛笔伐,大有上升到政治层面的趋势. 我也许不会再发表任何冲击心灵的文章,我希望给大家带来更多的正能量,所以那篇文章已被我 ...

  4. asp毕业设计——基于asp+sqlserver的个人网站建设设计与实现(毕业论文+程序源码)——个人网站建设

    基于asp+sqlserver的个人网站建设设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+sqlserver的个人网站建设设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦 ...

  5. 一步步构建大型网站架构(转)

    一步步构建大型网站架构(转) http://www.itivy.com/ivy/archive/2011/11/24/something-that-architecture-must-be-aware ...

  6. 高并发高流量的大型网站架构设计

    Web2.0的兴起,掀起了互联网新一轮的网络创业大潮.以用户为导向的新网站建设概念,细分了网站功能和用户群,不仅成功的造就了一大批新生的网站,也极大的方便了上网的人们.但Web2.0以用户为导向的理念 ...

  7. [转]高并发高流量网站架构设计(参考)

    高并发高流量网站架构设计(参考) 2009-11-24 16:19:58 来自: sharp(follow my heart) 目 录 1引言9 1.1互联网的发展9 1.2互联网网站建设的新趋势9 ...

  8. 高可用网站架构设计与实现

    word完整版可点击如下下载>>>>>>>> 高可用网站架构设计与实现.rar-互联网文档类资源-CSDN下载内容包括详细设计文档word版,附带开题报 ...

  9. 大型网站架构设计系列总结

    大型网站架构设计系列-我的总结如下: 1. 数据结构和产品架构设计,这是基础! 2. 角色分开,各司其职(web服务器,缓存服务器,负载平衡,数据库等) 3. HTML静态化(用缓存服务器也可) 4. ...

最新文章

  1. Vim 命令、操作、快捷键全集
  2. 使用XSLT转换XML数据并传递参数
  3. 创建新的SAP CRM product search scenario - 如何在SAP CRM里实现自定义的产品搜索场景
  4. C#中UDP通信过程中出现:远程主机强迫关闭了一个现有的连接0x80004005】的解决方法
  5. python的哪个模块提供了文件处理方法_Python处理文件路径有哪些方法?
  6. CompletableFuture详解~completeExpectionally
  7. Firefox浏览器个人用的插件
  8. 信奥中的数学:进位制
  9. KHV0031-himall3.0商城异常类(一)
  10. SpringBoot集成editormd实现发表和查阅功能
  11. 802d简明调试手册_802D 简明调试指南.pdf
  12. 网易云音乐评论抓取(js逆向)
  13. 影子传文件到服务器,影子传说——文件超级隐身术
  14. 关于ETF的套利机制
  15. Codesys配置电子凸轮连接虚轴
  16. PrinTao CANON Home Studio Edition 8.0r12 17 Mac 佳能专业打印软件
  17. 判断N!末尾有多少个0
  18. 新浪码农因加班错失年会77万特等奖,当事人称:心态崩了,想离职
  19. Unity 手机键盘
  20. html标题怎么快速更改,我如何更改标题和HTML上的slideToggle

热门文章

  1. 机器学习——支持向量机SVM之线性模型
  2. VScode 快速更改编码格式
  3. python列反过来_xlwings 教程:使用Python更快速地处理Excel
  4. C++11系列学习之二-----lambda表达式
  5. js高级编程_这位设计师用Processing把创意编程玩到了极致!
  6. 华为手机如何调时间显示_华为手机照片如何出现时间地点天气,教你30秒,一学就会...
  7. js映射 nginx_浅析nginx刚刚发布的JavaScript能力nginScript
  8. npoi 导入 winform excel_勤哲Excel服务器做影视制作企业管理系统 - 科技
  9. Cookie会话技术
  10. 如何解决ORA-04031错误