400-0731-172

网站首页 关于我们 成功案例 服务范围 移动终端 解决方案 新闻资讯 联系我们

大型网 站如何前期规划

发布时间:2014-08-26

  一个小型的网站,比方个人网站,能够运用最简略的html静态页面就完成了,合作一 些图像到达美化作用,一切的 页面均存放在一个目录下,这样的 网站对体系架构、功用的需求都很简略,随着互 联网业务的不断丰富,网站有 关的技能经过这些年的开展,现已细 分到很细的方方面面,特别关 于大型网站来说,所选用 的技能更是涉及面非常广,从硬件到软件、编程言语、数据库、WebServer、防火墙 等各个领域都有了很高的需求,现已不是本来简略的html静态网站所能比拟的。

  大型网站架构,比方门户网站的架构。在面临许多用户拜访、高并发恳求方面,基本的 处理计划会集在这样几个环节:运用高功用的服务器、高功用的数据库、高功率的编程言语、还有高功用的Web容器。可是除了这几个方面,还无法 底子处理大型网站面临的高负载和高并发疑问。   上面供 给的几个处理思路在一定程度上也意味着更大的投入,而且这 样的处理思路具有瓶颈,没有极好的扩展性,下面我从低本钱、高功用 和高扩大性的视点来说说我的一些经验。

  1、HTML静态化

  本来咱们都晓得,功率最高、耗费最 小的即是纯静态化的html页面,所以咱 们尽可能使咱们的网站上的页面选用静态页面来完成,这个最 简略的办法本来也是最有用的办法。可是关 于许多内容而且频频更新的网站,咱们无 法悉数手动去挨个完成,所以呈 现了咱们常见的信息发布体系CMS,像咱们 常拜访的各个门户站点的新闻频道,乃至他们的其他频道,都是经 过信息发布体系来办理和完成的,信息发 布体系能够完成最简略的信息录入主动生成静态页面,还能具有频道办理、权限办理、主动抓取等功用,关于一 个大型网站来说,拥有一套高效、可办理的CMS是必不可少的。

  除了门 户和信息发布类型的网站,关于交 互性需求很高的社区类型网站来说,尽可能 的静态化也是进步功用的必要手法,将社区内的帖子、文章进 行实时的静态化,有更新 的时分再重新静态化也是许多运用的战略,像Mop的大杂 烩即是运用了这样的战略,网易社区等也是如此。   同时,html静态化 也是某些缓存战略运用的手法,关于体 系中频频运用数据库查询可是内容更新很小的运用,能够思考运用html静态化来完成,比方论 坛中论坛的共用设置信息,这些信 息当前的干流论坛都能够进行后台办理而且存储再数据库中,这些信 息本来许多被前台程序调用,可是更新频率很小,能够思 考将这部分内容进行后台更新的时分进行静态化,这样避 免了许多的数据库拜访恳求。

  2、图像服务器别离

  咱们晓得,关于Web服务器来说,不管是Apache、IIS仍是其他容器,图像是最耗费资源的,所以咱 们有必要将图像与页面进行别离,这是基 本上大型网站都会选用的战略,他们都 有独立的图像服务器,乃至许 多台图像服务器。这样的 架构能够下降供给页面拜访恳求的服务器体系压力,而且能 够确保体系不会因为图像疑问而溃散,在运用 服务器和图像服务器上,能够进 行不一样的装备优化,比方apache在装备ContentType的时分 能够尽量少支撑,尽可能少的 LoadModule,确保更 高的体系耗费和履行功率。

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

  大型网 站都有杂乱的运用,这些运 用必须运用数据库,那么在 面临许多拜访的时分,数据库 的瓶颈很快就能显现出来,这时一 台数据库将很快无法满意运用,所以咱 们需求运用数据库集群或许库表散列。   在数据库集群方面,许多数 据库都有自个的处理计划,Oracle、Sybase等都有极好的计划,常用的MySQL供给的Master/Slave也是相似的计划,您运用了什么样的DB,就参考 相应的处理计划来实施即可。

  上面说 到的数据库集群因为在架构、本钱、扩大性 方面都会遭到所选用DB类型的约束,所以咱 们需求从运用程序的视点来思考改善体系架构,库表散 列是常用而且最有用的处理计划。咱们在 运用程序中装置业务和运用或许功用模块将数据库进行别离,不一样 的模块对应不一样的数据库或许表,再依照 一定的战略对某个页面或许功用进行更小的数据库散列,比方用户表,依照用户ID进行表散列,这样就 能够低本钱的进步体系的功用而且有极好的扩展性。sohu的论坛 即是选用了这样的架构,将论坛的用户、设置、帖子等 信息进行数据库别离,然后对帖子、用户依照板块和ID进行散列数据库和表,终究能 够在装备文件中进行简略的装备便能让体系随时添加一台低本钱的数据库进来补充体系功用。   4、缓存   缓存一 词搞技能的都触摸过,许多当地用到缓存。网站架 构和网站开发中的缓存也是非常重要。这里先 叙述最基本的两种缓存。高档和 分布式的缓存在后面叙述。

  架构方面的缓存,对Apache对比了 解的人都能晓得Apache供给了 自个的缓存模块,也能够运用外加的Squid模块进行缓存,这两种 方法均能够有用的进步Apache的拜访呼应才能。

友情链接: