网站建设所需要考虑的架构问题

在架构网站的时候,怎么才能使网站访问速度快,安全。

一、HTML静态化

我们都知道,效率最高、消耗最小的就是纯静态化的HTML页面,所以我们尽可能使网站上的页面采用静态页面来实现。

二、图片服务器分离

大家知道,对于Web服务器来说,不管是Apache、IIS还是其他容器,图片是最消耗资源的,于是我们有必要将图片与页面进行分离,这是基本上大型网站都会采用的策略,他们都有独立的、甚至很多台的图片服务器。这样的架构可以降低提供页面访问请求的服务器系统压力,并且可以保证系统不会因为图片问题而崩溃。   在应用服务器和图片服务器上,可以进行不同的配置优化,比如apache在配置ContentType的时候可以尽量少支持、尽可能少的LoadModule,保证更高的系统消耗和执行效率。

3、数据库集群、库表散列

大型网站都有复杂的应用,这些应用必须使用数据库,那么在面对大量访问的时候,数据库的瓶颈很快就能显现出来,这时一台数据库将很快无法满足应用,于是我们需要使用数据库集群或者库表散列。   在数据库集群方面,很多数据库都有自己的解决方案,Oracle、Sybase等都有很好的方案,常用的MySQL提供的Master/Slave也是类似的方案,您使用了什么样的DB,就参考相应的解决方案来实施即可。   上面提到的数据库集群由于在架构、成本、扩张性方面都会受到所采用DB类型的限制,于是我们需要从应用程序的角度来考虑改善系统架构,库表散列是常用并且最有效的解决方案。   我们在应用程序中安装业务和应用或者功能模块将数据库进行分离,不同的模块对应不同的数据库或者表,再按照一定的策略对某个页面或者功能进行更小的数据库散列,比如用户表,按照用户ID进行表散列,这样就能够低成本的提升系统的性能并且有很好的扩展性。   sohu的论坛就是采用了这样的架构,将论坛的用户、设置、帖子等信息进行数据库分离,然后对帖子、用户按照板块和ID进行散列数据库和表,最终可以在配置文件中进行简单的配置便能让系统随时增加一台低成本的数据库进来补充系统性能。

4、缓存

缓存一词搞技术的都接触过,很多地方用到缓存。网站架构和网站开发中的缓存也是非常重要。这里先讲述最基本的两种缓存。高级和分布式的缓存在后面讲述。   架构方面的缓存,对Apache比较熟悉的人都能知道Apache提供了自己的缓存模块,也可以使用外加的Squid模块进行缓存,这两种方式均可以有效的提高Apache的访问响应能力。   网站程序开发方面的缓存,Linux上提供的Memory Cache是常用的缓存接口,可以在web开发中使用,比如用Java开发的时候就可以调用MemoryCache对一些数据进行缓存和通讯共享,一些大型社区使用了这样的架构。另外,在使用web语言开发的时候,各种语言基本都有自己的缓存  模块和方法,PHP有Pear的Cache模块,Java就更多了,.net不是很熟悉,相信也肯定有。

5、镜像

镜像是大型网站常采用的提高性能和数据安全性的方式,镜像的技术可以解决不同网络接入商和地域带来的用户访问速度差异,比如ChinaNet和EduNet之间的差异就促使了很多网站在教育网内搭建镜像站点,数据进行定时更新或者实时更新。在镜像的细节技术方面,这里不阐述太深,有很多专业的现成的解决架构和产品可选。也有廉价的通过软件实现的思路,比如Linux上的rsync等工具。

6、负载均衡

负载均衡将是大型网站解决高负荷访问和大量并发请求采用的高端解决办法。

负载均衡技术发展了多年,有很多专业的服务提供商和产品可以选择,我个人接触过一些解决方法,其中有两个架构可以给大家做参考。

(1)、硬件四层交换   第四层交换使用第三层和第四层信息包的报头信息,根据应用区间识别业务流,将整个区间段的业务流分配到合适的应用服务器进行处理。   第四层交换功能就像是虚IP,指向物理服务器。它传输的业务服从的协议多种多样,有HTTP、FTP、NFS、Telnet或其他协议。这些业务在物理服务器基础上,需要复杂的载量平衡算法。在IP世界,业务类型由终端TCP或UDP端口地址来决定,在第四层交换中的应用区间则由源端和终端IP地址、TCP和UDP端口共同决定。   在硬件四层交换产品领域,有一些知名的产品可以选择,比如Alteon、F5等,这些产品很昂贵,但是物有所值,能够提供非常优秀的性能和很灵活的管理能力。“Yahoo中国”当初接近2000台服务器,只使用了三、四台Alteon就搞定了。

(2)、软件四层交换   大家知道了硬件四层交换机的原理后,基于OSI模型来实现的软件四层交换也就应运而生,这样的解决方案实现的原理一致,不过性能稍差。但是满足一定量的压力还是游刃有余的,有人说软件实现方式其实更灵活,处理能力完全看你配置的熟悉能力。   软件四层交换我们可以使用Linux上常用的LVS来解决,LVS就是Linux Virtual Server,他提供了基于心跳线heartbeat的实时灾难应对解决方案,提高系统的强壮性,同时可供了灵活的虚拟VIP配置和管理功能,可以同时满足多种应用需求,这对于分布式的系统来说必不可少。   一个典型的使用负载均衡的策略就是,在软件或者硬件四层交换的基础上搭建squid集群,这种思路在很多大型网站包括搜索引擎上被采用,这样的架构低成本、高性能还有很强的扩张性,随时往架构里面增减节点都非常容易。   对于大型网站来说,前面提到的每个方法可能都会被同时使用到,这里介绍得比较浅显,具体实现过程中很多细节还需要大家慢慢熟悉和体会。有时一个很小的squid参数或者apache参数设置,对于系统性能的影响就会很大。

文章相关课程 零基础Web前端开发工程师高端培训配项目开发(月薪过万的最佳选择) 零基础入门jQuery最新版开发.NET富客户端应用(选择器、DOM操作、事件和动画、Ajax应用、插件、Mobile) Flash经典小游戏开发实战(卡牌速配、扫雷、俄罗斯方块、泡泡龙、贪吃蛇等实战)

时间: 2024-11-02 05:46:53

网站建设所需要考虑的架构问题的相关文章

珠海网站建设必须考虑的几点因素

在珠海网站建设中,如果要想建设的网站符合用户的浏览习惯,吸引用户的驻留浏览,需要珠海网站建设者用心去做,同时要与企业的实际情况相结合,在珠海网站建设中需要考虑一下几个因素.珠海耐思尼克http://www.aliyun.com/zixun/aggregation/14054.html">信息技术有限公司,专业网站建设,网站推广,网站优化. 1.明确建立网站的目的 根据自己的产品.销售渠道和销售对象等情况,明确自己的网站是信息服务型.销售型.销售服务型或是综合型,面向企业客户的网站和面向个体

网站建设前期 如何规划好思路

上周六见了某站长,是文气的一个GG,却把购物网站做到了每天交易几百人的水平,更让我惊讶的是,整个网站只有他和另外一个人,两人还都是兼职,谈到信息查询,谈到淘宝网,谈到网络广告,我的很多想法与他不谋而合,但是他已经开花结果,我的烂于肚中.今天决定把腹中的有关网站建设的东西拿出来晒晒,理顺一下思路,也不枉曾为网络人. 很多人都说建购物网站就是为了积累人气,人气高了名气出去了订单就多了,要想人气高就要在商品内容上下功夫,于是出现了盲目的商品泛滥,以前不少站长随便下了个商品图片,然后吭哧噻+吭哧喂(ct

网站建设,化繁为简为佳

  现在互联网环境十分浮躁,为了排名和利益不惜牺牲用户体验.我们通常会碰到这样一个问题:到底什么样的网站才是用户真正需要的?其实,纵观一些比较大型的网站,比如百度.腾讯,会发现他们共有的一个特点就是简单.是的,谈到做人时,我们都喜欢简简单单的人.同样的,谈到用户喜欢的网站时,网站的建设运营人员也要明白简单的网站才是用户乐意浏览的.那么如何才可以让网站变得简单呢,而且是搜素引擎和用户都喜欢的简单呢?有以下几点是我们需要注意的: 1.网站的标题要简单.设计网站标题时,要以简单实用为宗旨,不要标题太长

中小网站建设过程中的改进和提升用户体验空间

中小网站都或多或少取得了阶段成功(如成功上线等),本文将从网站建设阶段.网站策划版本管理.用户研究与用户需求挖掘和用户体 验提升计划四个部分来进行说明. 中小网站都或多或少取得了阶段成功(如成功上线等),在得阶段性成绩的同时,也因为人员规模.硬件设备.管理层需求.时间进度压力等方面的原因,在 网站用户体验策划.网站建设方面大多存在可能调整与提升的空间. 本文将从网站建设阶段.网站策划版本管理.用户研究与用户需求挖掘和用户体验提升计划四个部分来进行说明. 一.网站建设阶段 层次 阶段 目标描述 可

网站建设前融入SEO的好处与时机

先做seo还是先建站或改版这是一个很少涉及到的问题,同时也是影响今后站seo效果的关键因素. 稍微懂些seo的客户会想,网站架设和seo一起做,这样可以即可以让SEO的效果更快出来,并且可以省去多出额外开销或时间,客户这样想也是非常合理的. SEO确实是网站初建设或网站改版的时候介入是最省时省工的.不过,网站搭建的过程中,SEO什么时候参与最好呢? 答案当然是越早越好,应该要比确认网站架构与功能更早! 这时:你难免会问,不是要有网站才能做SEO吗? 没错,的确是先有网站,但架设框架需要符合seo

网站建设中应该如何考虑SEO优化

SEO优化已经成为网站建设的不传之秘,而时下客户对网络营销的认识也越来越多,对网站在搜索引擎中的表现也越来越看重,本篇刘秀结合多年的SEO项目经验和网站建设服务经验,分享下自己帮客户公司建站时候所使用的SEO优化策略. 1. url标准化和规范化 静态化(不管是伪静态还是生成的纯静态)已经是多数人都能做到的一个地方了,但是标准化依然有很多人会忽视,对于一般的企业站而言,刘秀通常的做法是将网站的url提前做下规划,通常如下: 首页/ 公司介绍页 /about/ 下级页面譬如企业文化/about/c

符合SEO的网站建设需注意哪些

一个网站如果想操作seo,以依靠搜索引擎来流量为主的话,网站架构必须考虑seo的一些最基本的要素,别等到网站上线一年半载再来考虑,现在企业网站推广操作seo越来越多,但大多都是半路切入,中途才想到做SEO,可以说对优化人员来说是一种折磨,网站建设就像建楼房,如果地基不好,想盖起万丈高楼难上加难,假如整个网站没有按照符合seo布局的标准进行建设和策划,其优化花费的精力将是竞争对手的几倍甚至几十倍. 单以seo方面来考虑的话,其实一些开源程序就以seo为出发点而研发的程序,几经修改不断更新,已经近乎

方正视觉:企业网站建设的SEO三大“金科玉律”

        之前写一篇<方正视觉:网站制作如何进行有效的沟通>给大家讲了谈网站的时候应该做些什么.网站谈下来了,就要制作了,那么企业网站建设的SEO工作要事先做好规划,不然一旦发现问题再去做改动的时候,就会增加成本.曾经有个朋友做了一个网站,网站已经做了半年,关键词都开始有了排名的时候确发现,网站栏目页的标题都过长,就是百度搜索结果里标题显示不全,没有办法,他改了标题,结果就是首页快照倒退,关键字排名下降.再举一个例子,一个朋友是做保健品的,他的网站在稳定以后确发现,网站的长尾关键词不稳定

谈网站建设前就应该seo的规划

现在网站建设与seo的优化都是分开进行的,通常都是网站建设好了后再进行seo的优化,这样的情况很普遍.不管是企业建站还是行业或者是个人建站,其目标都不是仅仅做个网站充当门面,那么网站建设完成后都必将走向网站推广的道路,seo作为网站推广的重要手段之一,是所有网站都需要做到位的一个现实问题;下面我们就一起探讨下为什么网站建设之前就应该做好seo的规划. 就以企业网站建设为例,一般情况下企业都是找网站建设的公司为其搭建网站,很快,网站搭建起来了,这时,企业会发现光建设个网站是没什么很大作用的,这时,