大型门户网站架构设计的可伸缩性

news/2024/5/13 21:54:02/文章来源:https://blog.csdn.net/weixin_34397291/article/details/93765725

转自:http://siteguide.jzxue.com/jianzhanjingyan/200910/08-2877.html

我们知道,对于一个大型门户网站来说,可伸缩性是非常重要的,怎么样在纵向和横向有良好的可伸缩性,就需要在做架构设计的时候考虑到一个分的原则,我想在多个方面说一下怎么分:

首先是横向的分:

1. 大的网站化解为多个小网站:当我们一个网站有多个功能的时候,可以考虑把这个网站拆分成几个小模块,每一个模块可以是一个网站,这样的话我们到时候就可以很灵活地去把这些网站部署到不同的服务器上。

2. 静态动态分离:静态文件和动态文件最好分离开成2个网站,我们知道静态网站和动态网站对服务器来说压力的侧重不同,前者可能重IO后者重CPU,那么我们在选择硬件的时候也可以有侧重,而且静态和动态内容的缓存策略也不一样。典型的应用,我们一般会有独立的文件或图片服务器。

3. 按照功能来分:比如有一个模块是负责上传的,上传操作很消耗时间,如果和其它应用混在一起的话很可能,一点点访问就会使服务器瘫痪,这种特殊的模块应该分开。安全的不安全的也要分开,还需要考虑到以后SSL的购买。

4. 我们不一定要全部用自己的服务器,搜索、报表可以依靠别人的服务,比如google的搜索和报表服务,自己做的不一定比得过别人,服务器带宽都省了。

其次是纵向的分:

1. 文件也相当于数据库,IO的流量可能比数据库还大,这也算是纵向级别的访问,上传的文件图片一定要和WEB服务器分开。当然,数据库和网站都放在一个服务器上的很少了,这是最基本的。

2. 对于涉及到数据库访问的动态程序来说,我们可以使用一个中间层(所谓的应用层或逻辑层)来访问数据库(部署在独立的服务器上),最大的好处就是缓存和灵活性。缓存的内存占用比较大,我们要把它和网站进程分开,而且这样做我们可以很方便的去改变一些数据访问的策略,即使到时候数据库有分布的话在这里可以做一个调配工作,这样灵活性就很大了。还有好处是中间层可以做电线网通桥梁,可能网通访问双线再访问电信会比网通直接访问电信服务器快。

有人说我不分,我可以做负载均衡,对,是可以的,但是如果分的话,同样的10台机器肯定比不分10台机器可以承受更多的访问量,而且对硬件的需求可能不会很高,因为知道需要哪个硬件特别好。争取让每一个服务期都不空闲,又都不是太忙,合理进行组合调整和扩充,这样的系统伸缩性就高了,能根据访问量来调整的前提就是之前有考虑到分,分的好处是灵活性、伸缩性、隔离性以及安全性。

对服务器来说,我们有几点是要长期观察的,任何一点都可能是瓶颈:

1. CPU:动态文件的解析需要比较多的CPU,CPU出现瓶颈就要看是不是哪个功能过长时间占用线程,如果是就分出去。或者就是每一个请求处理时间不长,但是访问量很高,那么就加服务器。CPU是好东西,不能让他干等,不做事情。

2. 内存:缓存从IIS进程独立出去,一般对WEB服务器来说内存不够的情况不是很多。内存比磁盘快,要合理利用。

3. 磁盘IO:用性能监视器找到哪些文件IO特别大,找到了就分到独立的一组文件服务器上去,或者直接做CDN。磁盘慢,大规模读取数据的应用靠缓存,大规模写入数据的应用可以靠队列来降低突发的并发。

4. 网络:我们知道,网络的通讯是比较慢的,比磁盘还慢,如果是做分布式缓存,分布式计算的话,要考虑到物理服务器之间网络通讯的时间,当然,在流量大了以后,这可以提高系统的接纳能力一个等级。静态内容可以借助CSD分担一部分,在做服务器假设的时候还要考虑中国特色的电信网通情况以及防火墙。

对SQL SERVER数据库服务器来说[UPDATE]:

其实还是水平分割和纵向分割,一个二维表,水平分割就是横过来切一刀,纵向分割就是竖直切一刀:

1、纵向分割就是,我们不同的应用可以分到不同的DB中,不同的实例中,或者说把某个拥有很多字段的表拆分成小表。

2、横向分割就是,某些应用可能不负载,比如用户注册,但是用户表会非常大,可以把大表分开。可以采用表分区,数据存储在不同文件上,然后再部署到独立物理服务器增加IO吞吐以改善读写性能,土一点的做法就是自己定期把老的数据存档。表分区的另外一个优势可以增加数据查询速度,因为我们的页索引可以有多层了,就像一个文件夹中的文件不要太多,多分几层文件夹一样。

3、还可以通过数据库镜像、复制订阅、事物日志,把读写分开到不同的镜像物理数据库上,一般来说够用,如果还不行可以用硬件来实现数据库的负载均衡。当然,对于BI,我们可能还会有数据仓库。

架构上考虑到了这些之后,流量大了,就可以在这个的基础上再去调整或者做WEB服务器或者应用服务器的负载均衡。很多时候我们都是在重复发现问题-》找到瓶颈-》解决这个过程。

典型的架构如下:

动态WEB服务器配好点的CPU,静态WEB服务器和文件服务器磁盘好点

应用服务器内存大点,缓存服务器也是,数据库服务器当然内存和CPU都要好

转载于:https://www.cnblogs.com/k1988/archive/2010/05/12/2165653.html

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

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

相关文章

读书笔记:《亿级流量网站架构核心技术 -- 跟开涛学搭建高可用高并发系统》

from 《亿级流量网站架构核心技术 – 跟开涛学搭建高可用高并发系统》 概述 一个好的设计要做到,解决现有的需求和问题,把控实现和进度风险,预测和规划未来,不要过度设计,从迭代中演进和完善。 在设计系统时&#xf…

大型网站技术架构(五)网站高可用架构

2019独角兽企业重金招聘Python工程师标准>>> 网站的可用性(Avaliability)描述网站可有效访问的特性。 1、网站可用性的度量与考核 网站不可用时间(故障时间)故障修复时间点-故障发现(报告)时间点…

运维实录:服务器优化,网站上线,又崩了?还崩了?异常恢复

本文主要教会大家如何部署上线你的网站?大半夜的数据库又崩了,老板夺命连环call来了,整个人都疯掉了,大半夜去公司维护? 本文以实用为主,跟我学如何选择服务器?CPU核数、内存、带宽、硬盘这么多…

收藏精美网页设计作品的200佳网站推荐(系列四)

这个系列将向大家分享200佳收藏精美网页设计作品的网站。网页设计师们可通过这些网站收集的优秀网页设计作品来获取灵感,进而设计出更加时尚、更有创意的作品,网页设计师也可以把自己得意的作品提交到这些网站,分享给其它的设计师朋友。如果你…

在PEA上海做演讲主题:大型、高负载网站架构和应用初探

主题:大型、高负载网站架构和应用初探时间:30-45分钟 开题:163,sina,sohu等网站他们有很多应用程序都是PHP写的,为什么他们究竟是如何能做出同时跑几千人甚至上万同时在线应用程序呢? 挑选性能更好web服务器 单台 Apache web se…

SHAREPOINT 2007 网站模板(解决方案)安装和卸载

安装SHAREPOINT 模板,在网上下了个BAT文件,内容如下: CodeECHO OFFECHO **********************************ECHO.开始WSS3.0模版安装(请将模版文件存放在D:\ServerAdminTemplates目录)ECHO *************************…

SharePoint 2007 Restore Site Collection遇到的网站集Url缓存问题【已解决】

这个问题比较奇怪,可以说是SharePoint的一个BUG吧。请看下图: 在Site Collection List里面看不到正常的网站集信息。但是这个Url缺存在于此。 这是正常网站集选择时显示的信息: 在做Site Collection的Restore时候碰到如下错误: 错…

html5代码_HTML5响应式网站拥有哪些优势与特点

在现如今,随着互联网科技飞速的发展和进步,目前说起H5响应式网站,很多人第一时间的反应是:“HTML5网站拥有丰富的展示形式”、“H5网站的功能很多”、“响应式网站能够适应不同屏幕大小分辨率的设备”、“H5响应式网站更易于优化”…

ASP在线音乐系统网站-原创毕业设计作品

前言 随着社会的发展时代的前进,网络的发展也是日新月异,对人类的生产和生活方式产生了很大的影响。人们通过网络彼此沟通和交流,各种各样的网站也随之产生了,比如音乐网站、新闻网站、娱乐网站、政府网站等等,它们的出…

cms php vue 开源_开源PHP组件漏洞曝光,多个运行CMS系统的网站受影响

据外媒报道,研究人员发现,CMS制造商Typo3开发的开源PHP组件PharStreamWrapper存在安全漏洞,运行Drupal、Joomla或Typo3内容管理系统的网站均受影响。图片来源于创客贴据悉,该漏洞由研究人员Daniel Le Gall发现,被命名为…

index.html dreamweaver 设置为主业,在 Dreamweaver 中如何链接页面和内容以及设置网站导航...

了解 Dreamweaver 中的链接和导航功能,以及绝对路径、文档相对路径和站点根目录相对路径。在设置 Dreamweaver 站点以存储网站文档和创建 HTML 页面之后,您将需要创建文档之间的连接。Dreamweaver 提供多种创建链接的方法,可创建指向文档、图…

php代码网站分享

2019独角兽企业重金招聘Python工程师标准>>> http://www.codepearl.com/ 转载于:https://my.oschina.net/pureboys/blog/180329

经典网页设计:10个响应式设计的国外购物网站

今天我想与大家分享电子商务主题的网站设计,更精确地说是为设计在线商店提供新思想。每个人都知道移动技术的市场发展迅速,已经很难找到一个人没有手机的人了。响应设计给我们提供了一个巨大的机遇:站点的访问量的增长和销售收入的增加。在今…

解决网站的并发处理

原文链接http://hi.baidu.com/yjy198125/blog/item/9f1952b4bf22dd768ad4b25e.htmlhttp://www.javaeye.com/topic/235725一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面…

php云人才系统源码_运用ptcms搭建自用无广告网站(附采集规则和源码)

相信很多喜欢看小说的朋友都碰见过这种情况:看小说的时候突然点错了,然后就进入广告,甚至满篇文章都被广告遮完了。今天xiaotaiqi就来分享给大家一个运用ptcms搭建一个自己的小说网站的方法,还可以自动采集。(附源码和…

ASP.NET的SEO:Linq to XML---网站地图和RSS Feed

本系列目录网站地图的作用是让搜索引擎尽快的,更多的收录网站的各个网页。这里我们首先要明白一个基本的原理,搜索引擎的爬行方式。整个互联网就像一张纵横交错的“网”:网的各个节点就是各个网页,而各个网页之间通过url相互连接。…

IE无法打开internet网站已终止操作的解决的方法

用IE内核浏览器的朋友,或许不经意间会碰到这样滴问题:打开某个网页时,浏览器“嘣”跳出一个提示框“Internet Explorer无法打开Internet 站点...已终止操作”。而大多数情况下该页面甚至非常可能看起来已经载入完成,内容能够全然显…

南通seo:竞争对手的SEO分析策略

我们不管做什么事情,都要讲究一个策略。当然了SEO也如此。一、SEO为什么要对竞争对手进行分析实施SEO项目时,正确地分析竞争对手是非常重要的 一个环节。首先,分析和研究竞争对手站点的链接策略和内容策略,有利于提升自己的SEO技术…

仿360搜索界面html,仿360网站卫士拦截页面黑页源码

黑页源码下载,最新黑页复制以下内容保存为index.html您好,由于360过于垃圾保护不了你的网站你的网站被人黑了。很抱歉,由于360太垃圾了,没有抵挡住渗透攻击拦截URL:如果您是站长,请关闭网站,交出…

网站页面左右_在专业网站制作中网站首页制作时应遵循哪些原则?

我们在做一个网站时,都会把主要的精力放在首页的设计上,首页是用户打开网站最先看到的页面,决定着用户的去留。所以,打造一个好的首页是非常有必要的。之前我们济南网站建设​的小编就有分享过网站内页有哪些可遵循的原则的文章&a…