gpt4 book ai didi

amazon-web-services - AWS ELB 后面的两个 Varnish 服务器之间的一致性

转载 作者:行者123 更新时间:2023-12-03 17:45:58 27 4
gpt4 key购买 nike

我们正在使用ELB在两个不同的可用区中的两个不同的Nginx + Varnish服务器之间负载均衡请求。这些Varnish服务器已配置为平衡请求到另一个将请求分发到我们的应用程序服务器的ELB。这样,如果一个可用区停止工作,我们应该能够保持站点正常工作。

我们使用这种方法面临的问题是,我们不知道如何阻止站点将不同的缓存对象提供给同一客户端,即如何保持两个Varnish服务器之间的缓存内容的一致性。

一种可能的解决方案是使用ELB的IP哈希,以便取决于客户端IP,一个 Varnish 或另一个 Varnish 将服务于请求。这将在某种程度上缓解该问题。

还有其他方法可以在这两个Varnish服务器之间同步内容吗?

最佳答案

Varnish 中没有可用的事件状态同步。

您可以使用帮助程序处理 varnishlog 并调用其他 n Varnish 服务器来执行此操作,但这很脆弱,可能会损坏您。常见的方法是进行循环并拥有足够的流量,以便将所有内容缓存到需要的位置。 :)

有一些关于您的应用程序行为方式的基础知识已融入您的问题,但没有太多细节。为什么不同的后端做出响应会出现问题?如果它们是相同的(因为你想要冗余,我希望它们是?)这应该不是问题。

如果后端对某些 URL 使用用户特定的响应数据进行回复,它应该使用 Vary header 告诉 Varnish。

在 ELB 中添加 session 粘性(~ip 散列)只会隐藏您的问题,直到其中一个可用区出现故障并且流量重新路由,此时我猜您已经很忙了。

关于amazon-web-services - AWS ELB 后面的两个 Varnish 服务器之间的一致性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19447721/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com