尝试理解清漆如何融入画面

尝试理解清漆如何融入画面

目前,我正在设置 HA 代理来将请求路由到我的应用程序服务器。

我的应用程序服务器将运行带有 Phusion Passenger 的 nginx。

据我所知,Varnish 仅缓存没有 cookie 的页面。这在动态网站上如何工作?

比如像 serverfault,其中有登录用户和匿名用户。页面可以通过投票/评论/回答/编辑等方式更新。

清漆怎样才能与图画相配?

我理解 varnish 位于堆栈顶部的基本思想,因此即使您使用 memcached,它也会命中 Web 服务器,并且比使用 varnish 在堆栈顶部的纯缓存命中“更慢”。

答案1

据我所知,Varnish 只缓存没有 cookies 的页面

不,这是不正确的。它与应用程序协同工作以提供缓存层。Varnish 通常用于缓存任何静态内容以及不经常更改的内容。后端应用程序可以使用Cache-Control标头来控制内容的缓存方式。

从这里开始了解架构以及 Varnish 的功能: http://www.varnish-cache.org/trac/wiki/Introduction

答案2

Varnish 可用于堆叠任何和所有静态资产,例如图像、css 和 javascript。虽然页面的文本内容可能会发生变化,但这些资产不会发生变化。因此,理论上,您可以通过预先缓存它们来节省资源。

答案3

我们在商店中做的一件事是允许 Web 开发人员访问 Varnish 服务器并自动使缓存的资源过期。具体来说,每当内容更新时,该 URL 或您所拥有的内容都会自动从 Varnish 缓存中清除。这不是灵丹妙药,但在一些地方绝对是值得的。

答案4

您也可以使用 varnish 作为负载均衡器,因此您可以用 varnish 替换 HAProxy 并获得负载均衡和缓存。

http://www.varnish-cache.org/docs/2.1/tutorial/advanced_backend_servers.html

http://www.varnish-cache.org/trac/wiki/LoadBalancing

相关内容