利用站群原理让drupal飞起来

论坛: 

drupal超赞的机制在于你想的他都能给你,困扰drupal性能的问题很长一段时间,因为DP的特有机制,如果一个站点使用数量比较多的模块来搭建,则会导致读取和存储性能直线下降。

如何摆脱这一困境,实际操作中可以走一个弯道来实现快速的drup性能提升。
用过drupal的都会知道,什么模块都不安装,只添加文章等,速度很不错的www.dsjz.cn
drupal的站群机制非常不错,共用数据库、共用会员数据表、共用会员权限、共用分类数据等,都是非常漂亮的设计,我们利用这个来达到性能提升的目的。
1、主站点只提供一个会员注册或者基本的分类导航等,其他复杂的功能则由二级域名来实现;如果是规划大一点的站点,则把用户独立出来,做一个user站点。这个站点可以使用content_profile,可以把所有的用户信息都存储在node中。接下来,我们可以把所有数据较大的node类型分开到不同站点中,比如story站,比如page站,这些站点通过drupal的multiple站点的架构共享user站的用户信息,如user表,role表等(这个参考资料比较多,请查阅相关信息)。这样架构可以水平扩展,整个站群的模块可以共享,当然这样也会有其他问题,比如跨站的数据访问,views的使用等等。不过单个站点使用views还是没有问题的,如果要多个内容类型相互引用,这样最好把这两个node类型放在同一个站点中。
2、二级域名共用主站点的会员数据库、分类导航、会员权限等,不同功能由不同的二级站点来实现,这样能实现需要什么功能则安装什么模块,其它二级站点打开的速度显而易见能对比出来的。
3、设置会员通用的目的在于能全站实现同步注册同步退出。
4、多站点的站群功能为超大型站点的构建提供实现的可能(不是理论),MYSQL的数据库承载能力百度可查,要实现多大的站点则由站长自己控制了。
5、站点开发的速度也会明显加快,按照需求陆续开发上线,不会影响到以前已经上线的功能和架构,或者说多个程序员同时开发一个站点也可以做到互不干涉同步进行。
6、多站群的好处在于如果不需要哪一个功能或设计要求,直接关闭二级站点就可以,需要新的要求添加安装就是了。啰嗦的地方在于每个二级站点要开始运行的时候都要新安装一次。

企业建站实战操作中,我们可以分为几个二级站点来实现:
1、普通的产品展示、新闻发布等,利用主站点即可完成。
2、视频栏目这一块可以简单实现,也可以在主站点实现,如果要控制权限等,则建议利用二级站点来操作。
3、CRM由于权限复杂,坚决支持单独的二级域名来实现。
4、商城系统、库存管理一定要脱离主站点来实现,商城系统和库存管理等钩子众多,要实现商城的漂亮功能安装模块必然不少。