构建CMS架构 - 集中与否

时间:2009-07-08 20:33:48

标签: php content-management-system

我有一个专用服务器,我需要为我的客户构建我个人PHP5 CMS的新版本。撇开我是否应该考虑使用开源的问题,我需要你对CMS架构的看法。

第一种方法(因为服务器完全在我的控制之下)是构建一个可以从单一管理面板支持多个站点的集中式系统。基本的想法是我能够以超级用户身份登录,创建新站点(从技术上讲,它创建新的Web根和新数据库,可能还有其他一些东西),为特定客户分配模块和插件,或者开发新的需要。如果客户登录此面板,他/她会看到并且只能管理他们的网站内容。

我见过这样一个系统(它是自定义版本),它非常适合错误修复,新功能可以立即影响所有客户,而无需修补每个CMS也可以在其他托管服务器上...

我可以看到的负面影响是可伸缩性 - 如果我需要添加第二台服务器,如何将它们合并以维护单核。

第二个是经典 - 每个客户的独立CMS。

你会怎样走?为什么?

感谢您的时间。

2 个答案:

答案 0 :(得分:2)

如果您要为所有客户端安装一个中央系统,可扩展性可能会变得更加容易。您可以拥有一个大型数据库服务器和几个相同的Web服务器(可能位于负载均衡器之后),这样您就不必担心将客户端分成不同的服务器。您的资源汇集在一起​​,因此,如果一个客户端有一个流量很大的一天,它可以被多个服务器占用,而不是让一个服务器(以及其上所有其他客户端的站点)瘫痪。

通过在负载平衡配置上使用“粘性会话”,或者通过让PHP将数据存储在所有服务器(例如数据库)可访问的位置,您可以使PHP会话跨多个服务器工作。

保持Web应用程序文件同步到一个代码库不应该太困难,有一些像rsync这样的工具可以用来帮助你。

答案 1 :(得分:1)

这实际上取决于网站的类型。也就是说,我建议您考虑使用版本控制软件来管理多个安装。实际上,这可以为您提供与集中式方法相同的功能,但它可以让您自由推迟单个(或多个)站点的更新。