W3总缓存-保持负载平衡服务器同步所需的建议



我目前有一个单一的web服务器托管多个使用W3TC的WordPress网站。

让我们将所述网络服务器称为"服务器A"。我想克隆这个服务器,我们将克隆称为"服务器B"。

然后我希望负载平衡服务器A和服务器B。

我还想要第三个"管理"服务器。这是我将登录WordPress并对服务器A和服务器B上托管的网站进行更改的地方。

顺便说一句,我有一个单独的数据库服务器,我的所有附件/主题文件等都使用Rackspace Cloud Files CDN。

我感到困惑的是保持一切同步。或者,更具体地说,保持W3TC缓存同步。例如,如果我登录到管理服务器并发布新的帖子,由于我指定在创建或编辑帖子时应从缓存中清除各种页面,管理服务器上的页面缓存将被清除。但是,不会清除服务器A和服务器B上的页面缓存。

我可以在服务器a和服务器B上调用一个脚本,该脚本将使用w3tc_pgcache_flush()来刷新这些服务器上的缓存,但当在管理服务器上创建/编辑帖子时,我如何让这些脚本运行?有什么活动我可以参加吗?

我考虑过的另一个选项是,我可以使用lsyncd将管理服务器上/wp-content/w3cc/文件夹内容的任何更改同步到服务器A和服务器B,但后来我意识到管理服务器上不会存在页面缓存,因为没有人会访问其上托管的站点的实例。

额外的问题:我需要在所有服务器上同步我的所有附件吗?或者它们只能位于管理服务器上吗?我之所以这么问,是因为W3TC被设置为自动导出更改的文件——如果它在服务器A或服务器B上的/wp-content/uploads/文件夹中查找并发现它为空,它会从CDN中删除我的所有文件吗?

我希望这里有人已经实现了类似的东西,或者知道一种更好的方式来实现我想要实现的目标?

非常感谢期待-

chris

可以从其他应用程序服务器分割您的WP Admin流量,但如果您不使用varish或其他方案将请求重定向到特定的应用程序服务器,则会很困难。我不建议在你目前操作的水平上尝试为WordPress做这种事情。

无论如何,对于CDN,请使用原始拉取提供商,您不必担心您提到的任何事情。此外,使用memcached作为页面缓存的后端将再次消除您的所有顾虑。您永远不会想使用一个典型的网络文件服务器/wp-content/w3cc/,因为这根本无法扩展。

最新更新