网站群与集群部署

1 网站群概述

  网站群是由统一规划建设的若干个能够相互共享信息、按照一定的隶属关系组织在一起,既可以统一管理,也可以独立管理的网站集合。网站群非常适合企业集团、地方政府、大型事业单位等有分支机构的组织,可以为本组织及下属分支机构建立统一的门户网站体系。

  ZCMS提供了灵活、富有扩展性的网站群功能,站点之间既可以由编辑人员手工复制和引用信息,又可以基于网站群采集和网站群分发机制实现自动的信息下 达和上传;既可以支持一套ZCMS多个站点,站点之间构成网站群,又支持多套ZCMS多台服务器之间构成网站群;既支持主站/子站模式的网站群,又支持基 于密钥的松散型网站联盟;既可以同步文章信息,又可以同步栏目结构。

  通过ZCMS建设的网站之间可以构成一个整体,不再相互孤立,来访者既可以方便地通过主站获得统一的信息服务,又可以通过子站获得相关领域内分门别类 的信息。同时,在内部管理上,可以实现多站点统一管理、权限统一分配、信息统一导航、内容统一检索等,消除信息孤岛,共享集群的软硬件资源,有效降低项目 投入。

2 内容上报和下发

  ZCMS支持多种应用场景下的内容上报和下发:

  a. 主站自动下发信息到子站,子站不经审核直接发布

  主站通过内部自动传输机制,将主站上某些栏目下的文章发布到指定子站的指定栏目,发布时不需要子站管理人员审核。

  b. 主站下发信息到子站,子站自主选择是否采用

  主站通过内部自动传输机制,将主站上某些栏目下的文章传输到指定子站的指定栏目,传输完毕后文章状态为“初稿”,需等待子站管理人员审核通过后才能发布。

  c. 子站报送信息到主站,主站不经审核直接采用

  子站通过内部自动传输机制,将子站上某些栏目下的文章传输到主站指定栏目并直接发布,不需等待主站管理人员审核。

  d. 子站报送信息到子站,主站经审核后采用

  子站通过内部自动传输机制,将子站上某些栏目下的文章传输到主站指定栏目,传输完毕后文章状态为“初稿”,需等待主站管理人员审核通过后才能发布。

  e. 主站不仅要同步文章信息,还需要同步栏目信息

  主站管理人员拥有非常高的权限,主站管理人员在主站某个栏目下新建了栏目,则子站也要对应地自动新建栏目。

  f. 站点之间对等相互引用

  各站点管理人员基于业务需要自主决定是否提供信息给其他站点以及是否采用其他站点信息,站点之间没有主次之分。

  g.各站间通过密钥相互引用

  站点管理人员指定本站点下某些栏目可以被其他站点使用,并可以为每个栏目设定密钥。其他站点只有在知道密钥的情况下才可以使用该站点的数据。

图:网站群分发任务

图:网站群分发任务


3  集群与可用性

  ZCMS实施后的网站可以分四个部分:ZCMS管理后台(AdminApp)、数据库(DB)、静态Web文件(WEB)、前端应用(FrontApp)。

  其中静态Web文件是ZCMS模板引擎根据模板文件生成的html文件及相关的图片、样式文件、脚本文件等。静态Web文件由ZCMS管理后台生成, 通过分发功能同步到专用的Web服务器。除静态Web文件外,网站一般还需要向浏览者提供一些动态的数据服务,包括调查、访问统计、留言板、评论、向其他 业务系统提供的数据接口等。这组服务对应的动态页面文件以及相应的支撑程序称之为前端应用。前端应用需要和ZCMS管理后台交换数据。

  这四个部分可以处于同一台服务器,也可以分别处于不同的服务器,每个部分本身还可以部署在多台服务器上构成集群,从而构成多种多样的部署方案。以下是典型的几种部署方案:

  方案一:单服务器部署

 

服务器台数

1台

部署方式

AdminApp+FrontApp+WEB+DB共用一台服务器

特点

成本最低

一旦宕机则网站彻底不能使用

可用性

 

  方案二:数据库单独部署

 

服务器台数

2台

部署方式

AdminApp+FrontApp+WEB共用一台服务器

DB单独用一台服务器

特点

成本较低,只需要添置一台服务器

ZCMS所在服务器宕机则网站彻底不能使用

DB所在服务器宕机后用户只能浏览静态页面

可用性

较低

 

  方案三:前端应用集群部署

 

服务器台数

3台

部署方式

服务器1:AdminApp+FrontApp+WEB

服务器2:FrontApp+WEB

服务器3:DB

服务器1和服务器2上的FrontApp+Web构成集群

特点

成本一般,只需要添置硬件

服务器1宕机后用户还能正常浏览网站

服务器2宕机后用户还能正常浏览网站并通过后台管理网站

DB所在服务器宕机后用户只能浏览静态页面

可用性

较高

 

  方案四:完全集群部署

 

服务器台数

4台以上

部署方式

服务器1:AdminApp+FrontApp+WEB

服务器2:AdminApp +FrontApp+WEB

服务器3:DB

服务器4:DB

服务器1和服务器2构成应用集群

服务器3和服务器4构成数据库集群

特点

成本高,需要添置多台服务器,并需额外购买ZCMS授权,数据库服务器软件的集群组件也需要另行购买

服务器1宕机后用户网站完全正常使用

服务器2宕机后用户网站完全正常使用

服务器3宕机后用户网站完全正常使用

服务器4宕机后用户网站完全正常使用

可用性

其他说明

应用集群和数据库集群都可以随时添加2台以上的服务器

 

  以上四个方案中的FrontApp和Web都可以随时迁移到其他服务器。。

4  资源分离部署

  为了避免太多连接导致服务器拥塞、响应速度变慢,根据RFC 2616的建议,目前的主流浏览器如IE和Firefox同一域名下只允许不超过2个的并发连接,其他浏览器也都有并发连接数限制(一般不超过6个)。某 些情况下服务器的并发处理性能和带宽都有富余,但因为浏览器的这一限制,一个页面内的多个资源(包括HTML页面、JS文件、CSS文件、图片、 FLASH文件等)会依次加载而不是同时并行加载,从而导致页面的整体加载速度受到影响。

  为了解决这一问题,大型门户网站如新浪、腾讯会将HTML文件和其他资源文件分开部署,例如新浪会将图片等资源分布在多个不同域名(例如sinaimg.cn)的服务器,从而避开浏览器的并发连接数限制,使得多个资源能够同时下载,加快页面的整体加载速度。

  ZCMS将这种把资源分布到多个域名下的做法称之为资源分离部署,将每个资源服务器的域名称之为一个发布点。ZCMS支持建立多个发布点,并支持将不 同栏目下的资源文件发布不同的发布点。不管是发布成静态页面,还是在动态功能中使用,只要栏目下的内容被模板标签调用,内容里面的资源路径就会自动以设定 的目标发布点的域名为前缀,从而实现资源的分离部署。


图:发布点设置

图:发布点设置