Caching 如何使用清漆解决缓存砰击/冲压情况?

Caching 如何使用清漆解决缓存砰击/冲压情况?,caching,varnish,Caching,Varnish,我正在考虑使用Varnish作为我们基础设施的缓存解决方案,我想问一下Varnish中是否有一种机制可以解决这个问题?自Varnish 4.0以来,您可以在使用宽限期重新验证时提供过时的服务 Varnish将从后端异步获取响应,并在过期缓存内容处于宽限期时为其提供服务。它真的能防止缓存崩溃吗?如果(比如)10个用户正在请求相同的资源,哪个缓存刚刚过期,那么有多少这样的异步刷新请求会到达后端?这需要通过查看源代码或询问邮件列表来检查,但我认为响应只是一个请求。在清漆4之前,也只有一个请求。其他请求

我正在考虑使用Varnish作为我们基础设施的缓存解决方案,我想问一下Varnish中是否有一种机制可以解决这个问题?

自Varnish 4.0以来,您可以在使用宽限期重新验证时提供过时的服务


Varnish将从后端异步获取响应,并在过期缓存内容处于宽限期时为其提供服务。

它真的能防止缓存崩溃吗?如果(比如)10个用户正在请求相同的资源,哪个缓存刚刚过期,那么有多少这样的异步刷新请求会到达后端?这需要通过查看源代码或询问邮件列表来检查,但我认为响应只是一个请求。在清漆4之前,也只有一个请求。其他请求被阻塞,等待第一个刷新缓存。我同意@BenjaminBaumann的观点,在生成一个请求时,对我来说只有一个请求将进入后端。这里的文档似乎表明,如果对象过期,bg获取将并行完成。我一直在寻找源代码中的信息。@BenjaminBaumann谢谢。如果你发现什么,请打电话给我。