我们正在使用 ELB 在两个不同 AZ 中的两个不同 Nginx+Varnish 服务器之间对请求进行负载平衡。这些 Varnish 服务器已配置为平衡对另一个 ELB 的请求,将请求分发到我们的应用服务器。这样,如果一个 AZ 停止工作,我们应该能够保持站点正常工作。
我们使用这种方法面临的问题是,我们不知道如何防止站点向同一个客户端提供不同的缓存对象,即保持两个 Varnish 服务器之间缓存内容的一致性。
一种可能的解决方案是使用 ELB 的 IP 散列,以便根据客户端 IP,一个 Varnish 或另一个将服务于请求。这会在一定程度上缓解这个问题。
有没有其他方法可以在这两个 Varnish 服务器之间同步内容?