从单个代码库运行多个用户繁重的站点

时间:2014-11-03 22:15:16

标签: load-balancing server

我目前有一系列15个网站,运行 15个相同代码库的实例并分布在四个专用服务器上。每个网站只是略有不同,主题不同,一些设置和翻译更改为与实例匹配,但是它们是相同的。

这是我的意思的一个例子:

  • 服务器1
    • Site 1
    • Site 2
    • Site 3
    • Site 4
  • 服务器2
    • Site 5
    • Site 6
    • Site 7
    • Site 8
  • 服务器3
    • Site 9
    • Site 10
    • Site 11
    • Site 12
  • 服务器4
    • Site 13
    • Site 14
    • Site 15

当只有一台服务器时,这很容易管理,但现在,随着网站不同版本的15个(并且不断增长)实例,它正成为管理和更新的噩梦。

我目前正在重写代码库,并希望将这些网站合并为一个,但我知道具有这么多负载的单个服务器会显着降低系统速度。

我需要一种能够在不破坏性能的情况下整合所有这些数据的方法。我以为我可以在两个服务器上运行数据库服务器,一个缓存(如清漆)和一个nginx,但这不会感觉非常可扩展。

我错过了更好的方法吗?

1 个答案:

答案 0 :(得分:0)

托管

我建议使用/雇用Paas(平台即服务)或Iaas(基础架构即服务)。这样,其他人将管理硬件和服务,您只需要担心代码。最棒的是该平台可以根据您的需要扩展您的应用程序。 (但是糟糕的代码 - >糟糕的表现会花费你很多钱)

以AWS为例:http://aws.amazon.com/

更新

另外,我建议使用版本控制来更新您的网站。

我个人更喜欢GIT(因为分支机构和本地存储库)。您可以为每个在其中执行自定义布局代码的客户端创建分支。当您在主分支上发布时,您可以轻松地将其合并到所有其他分支中,只需拉动您的客户端站点即可。

虽然我建议您将自定义代码与基本代码分开! (这应该很容易拆分)。

所以,只需创建一个Git Pull的脚本,您就可以自动完成更新过程了! (使其成为可以从您网站的管理员后端运行此功能,以及您的全部设置!)

希望这有帮助!

建议之词:始终在不同的分支中工作,然后在生产分支中工作,只有在稳定版本时才向生产分支发布:Merge