--> 在大型网站中,访问者看到的页面基础上是静态页面。为什么都要把页面静态化呢?把页面静态化,利益有良多。例如:访问速度快,更有利于搜寻引擎收录等。目前主流的静态化重要有两种:一种是通进程序将动态页面抓取并保留为静态页面,这样的页面的实际存在于服务器的硬盘中,另外一种是通过WEB服务器的 URL Rewrite的方式,他的原理是通过web服务器内部模块按必定规则将外部的URL恳求转化为内部的文件地址,一句话来说就是把外部要求的静态地址转化 为实际的动态页面地址,而静态页面实际是不存在的。这两种方法都到达了实现URL静态化的效果,但是也各有各自的特色。 将动态页面转化为实际存在的静态页面这种方法,因为静态页面的存在,少了动态解析过程,所以进步了页面的拜访速度跟稳固性,使得优化后果十分显明。所以这种方法被普遍采取。然而它的局限性同样存在。对大型网站而言,这种方法将带来不可疏忽的问题。 一、因为生成的文件数量较多,存储需要斟酌文件、文件夹的数目问题和磁盘空间容量的问题; 二、页面维护的庞杂性和大工作量,及带来的页面维护及时性问题,需要一整套站点更新轨制。 而URL Rewrite方式特点同样赫然,由于是服务器内部解析的地址,所以内容是实时更新的,也不存在文件治理和硬件问题,维护比拟便利。在服务器级URL Rewrite重写技巧并不影响页面的执行速度。但是URL Rewrite的门槛比较高,海内虚拟主机大多不支撑,而且虚构主机是目录级的URL Rewrite,通过遍历目录读物URL转发规矩的方式将大大下降页面的履行速度。 除了抓取动态页面和URL Rewrite的方法外,在这里咱们再看一下另外的一种方式。此方法的中心思维就是:把页面划分成子数据块,每个数据块可能是一个inc文件,也可能多个数据块包括在一个inc文件中。详细的数据块划分依据页面的业务构造来处置。比方:网站头尾等公共数据块可以独破成一个文件。这种办法须要考虑以下多少个方面: 1、用什么方法生成页面及里面的数据块 2、页面的更新机制; 3、大批的页面文件的保护工作; 4、页面数据块的及时性。 这种方式的话,通常能够在后盾增添一个服务程序,专门天生某个频道或栏目标页面。这样固然可行,依照频道分的话,逻辑结构也清楚。 【单服务模式】 这样会带来一些问题。例如:当频道修正后,相应的服务程序都要从新翻一遍。假如频道栏目很多,对应的服务程序也会许多,导致程序的维护工作量大。前台开发职员不仅要去做页面,也要考虑后台的服务程序结构,给他们增长了不用要的开发难度,降低了开发效力。 【多服务模式】 而在多服务模式下,会呈现多台服务去争抢指令数据的情况。动作指令的状态必需在多个服务之间同步。服务进级了,也要一个一个去更新,涌现毛病了也要一个一个去排查。。。。。。 那么有不一种方法能把生成页面的功效独立形象成一个平台,同时供给一个程序接口,前台开发人员只要要按照这个接口,开发业务组件即可。当初前台开发人员只需要把写好的业务组件,部署到指定的地方即可。剩下的事件交给这个平台去做,这样就简化了系统宣布,维护工作,减轻了前台开发人员的工作量,提高了他们的开发效率。 【平台集中处理模式】 动作指令是指页面更新的动作,当页面数占有变更时,会根据业务规则从某个处所发出一个动作。它的起源大抵可以分为三种:前台页面触发,后台内容管理系统触发,后台主动定时触发。 静态数据生成系统与业务组件的接口设计。通过反射的方式调用业务组件,接口的参数在指令结构的基本上扩展即可。好比增加一些过错描写,数据库链接对象等。 数据散发是一个独立的数据传输系统,它负责根据预先设定好的配置,把生成的页面数据传输到指定的web服务器上。 为了使系统在跟着网站访问量的回升的同时做到程度扩大,加快指令的处理速度。所以需要把系统部署到多台服务器上,这样以来各个子体系就要同一通信和谐。可以用MQ新闻作为子系统之间的通讯手腕。子系统的安排模式变为Master-Slave的情势。Master主机上的系统负责读指令,而后把指令发送到MQ。各个Slave主机系统负责接受MQ消息指令,调用业务组件并更新某条指令的状况,这样就把处理业务逻辑的压力均匀的调配到了各台slave主机。 对于一个大型网站来说,生成的页面数据会无比多,管理这些页面文件又是一个问题。例如有的页面被删除了,罢了经生成的页面数据还会存在各个web服务器上。这时就需要通过后台系统记载这些页面文件的部署地位,以便今后统一管理。同时业务组件的量也可能会比较多,特殊是存在多版本的情况下,所以也需要把业务组件的配置情形记载到数据库中,便于统一管理。 相关的主题文章: (责任编辑:admin) |