CMS系统搭建之服务器部署(二)

其中:

cms服务器: 

     频道建设、信息管理、信息采集、模板管理、权限管理、媒体文件管理等模块均在此服务器上实现。


cms生成服务器:

      这里的生成是指生成静态页面,通常页面分为首页、列表页、终极页、个别的还包括专题页等。每当签发一条信息时,会发布一条消息(可以用jms,也可用http方式请求)来通知生成服务器。 生成服务器找到该条信息所套用的终极页模板,按模板格式生成页面。同时并更新涉及到的列表页、首页专题等。 考虑到列表页生成文件会比较多,可以设定一个任务池,把涉及到的列表页等放到任务池中间隔一定时间后再生成。以上所说是时时发布过程。同时还设有定时生成任务,就是把某个频道或者某个栏目设置定固定时间来 发布。比如说首页每5分钟自动生成一次,终极页10分钟自动生成一次,来确保上次没有生成文件或者是处于已签发待生成的信息发布出去生成最终的静态页面。之所以单独设置生成服务器,就是为了频道增多时候 可以分布式处理,比如说A服务器可以处理娱乐、体育、财经、新闻等。B服务器处理 影视、数码、房产等。      C 服务器 D服务器。。。这样做的好处在于,当频道增多时候就可以用廉价的服务器进行水平扩展。不但可以分担压力而且还可以减少单点故障,如果说B服务器突然当机挂掉或者发生不可恢复的灾难我们最多损失的也就是几个频道不更新而已,而不会影响到整个网站。同时可以通过配置文件,可以把B服务器上的频道转移到其他的生成服务器上。当然,前提是为频道多,数据量大的情况下为基础,否则就没有必要了,因为增加一个节点,就也多了一个故障点、多了一份成本。


分发服务器: 

    分发服务器实际也就是个静态页同步服务器,来把生成服务器生成的静态页面同步到前端的web服务器上。也许 有人会有说直接让前端的web服务器解析到文件的目录上来不就可以吗?不错,这是个不错的办法。也有不少人用NginX做方向代理加缓存来实现。之所以用同步,就是为了让前端web和后台的CMS发布彻底切开。用户访问的永远都是前端上服务器上的文件。前端服务器支持水平扩展。用户访问时候可以通过反向代理指到相应的服务器上来实现负载,如(F5,NginX,LVS) 等来实现。如果有CDN服务的话,可以把静态页推到各地CDN里去,来减轻web服务器负担。


web前端:    

     就是放置静态页面的地方,这没有什么好说的。可以加squid缓存,可以水平扩展。


hotlink 服务:

       通常是指的为终极页关键词加链接用,我们在系统里加入关键词,发布信息的时候,如果文章中存在系统中的关键词
       就会自动为关键词加上相关的连接,比如说有 “联想” 这个词,加入后就变为了<a href="http://xxx.xxx.com/xxx.shtml">联想</a> 实际就是为了搜索引擎的反向链接用。至于系统关键词,可以参考百度上该词的搜索频率。


DB服务器:   

     支持水平拆分,纵向拆分。比如说:一个频道一个数据库,每个库又可以分主库和从库,对于其他应用程序也就是不和
cms相关的请求数据的时候,都通过从库来进行读取来减轻压力。对于CMS系统中信息量比较大的表,可以再进行纵向拆分,比如说信息表,可以在主表中就保留10万的数据,而其他的放到另外表中。必要时候允许牺牲范式,采用适当冗余来保证速度。 如果某个频道数据量非常大的情况下,就可以用个比较好的服务起来单独为它服务。

猜你喜欢

转载自vtrtbb.iteye.com/blog/561138