每个节点上的 Elastic Load Balancer 和 Varnish

每个节点上的 Elastic Load Balancer 和 Varnish

我们希望在由 Auto-Scaling Group 和 ELB 处理的节点上安装 Varnish。这些服务器目前根据 2-10 个节点的负载进行扩展和收缩。由于成本原因,我们不想再安装另一个“主”Varnish 服务器。

我们的最佳图表看起来是这样的:

           ELB
          / | \
Node 1 - Node 2 - Node 3, etc.
  |         |        |
Varnish  Varnish  Varnish
  |         |        |
Apache   Apache   Apache
  |         |        |
Centralized MySQL/File Servers

为了进一步理解,Varnish 将在每个节点上运行,就好像这三个节点都是独立的一样。

我们如何保持所有 Varnish 同步,尤其是涉及缓存事件时(例如,有人在 WordPress 上更新了一篇文章,而 WordPress 清除了其中一个 Varnish 缓存,但没有清除其他两个缓存)。我宁愿不添加另一个专用的 Varnish 服务器来监督所有这些。您通常如何处理 3 个 Varnish 实例之间的同步?是不是我考虑得不正确,或者有其他配置?

答案1

通常我们有一些单独的管理服务器,运行着 wordpress 或 magento,它们内置了特殊的 varnish 插件,它有所有的逻辑,并向清漆在每台服务器上。或者您可以从您的工作人员那里执行相同的操作,这取决于您的应用程序。

           ELB
          / | \
Node 1 - Node 2 - Node 3, etc.
  |         |        |
Varnish  Varnish  Varnish
  |         |        |
Apache   Apache   Apache
  \         |        /
    Master Admin Node
   \        |       /
Centralized MySQL/File Servers

相关内容