首页 > 解决方案 > 具有不同缓存的 Varnish 多站点配置

问题描述

我有 3 组 API,每组 3 组对缓存都有独特的要求。

因此,组 1 可以“正常”缓存,就像 URL 很重要一样。

第 2 组要求传递 auth 标头,因此希望根据该标头和 url 缓存它们。

第 3 组根据 UserAgent 和 url 生成响应

现在我可以很容易地自己做任何这些,但是因为所有的 API 都是“小”的,我希望他们共享一个缓存系统并降低成本。

据我了解,在 varnishadm 中使用多个 vcl 和 vcl.load 将允许我为每个指定一个自定义 vcl_hash(以及其他)。或者是否有更好的解决方案,因为拥有大量 if 语句看起来很糟糕。

如果我使用 vcl.load 是否有办法让清漆在启动时自动执行此操作,以便服务器可以位于自动缩放组中?(目前使用 systemctl)

干杯

标签: varnishvarnish-vcl

解决方案


看起来您正在寻找 VCL 标签。请查看https://varnish-cache.org/docs/trunk/users-guide/vcl-separate.htmlhttps://info.varnish-software.com/blog/one-vcl-per-domain以获取文档和一些例子。


推荐阅读