varnish - 具有不同缓存的 Varnish 多站点配置
问题描述
我有 3 组 API,每组 3 组对缓存都有独特的要求。
因此,组 1 可以“正常”缓存,就像 URL 很重要一样。
第 2 组要求传递 auth 标头,因此希望根据该标头和 url 缓存它们。
第 3 组根据 UserAgent 和 url 生成响应
现在我可以很容易地自己做任何这些,但是因为所有的 API 都是“小”的,我希望他们共享一个缓存系统并降低成本。
据我了解,在 varnishadm 中使用多个 vcl 和 vcl.load 将允许我为每个指定一个自定义 vcl_hash(以及其他)。或者是否有更好的解决方案,因为拥有大量 if 语句看起来很糟糕。
如果我使用 vcl.load 是否有办法让清漆在启动时自动执行此操作,以便服务器可以位于自动缩放组中?(目前使用 systemctl)
干杯
解决方案
看起来您正在寻找 VCL 标签。请查看https://varnish-cache.org/docs/trunk/users-guide/vcl-separate.html或https://info.varnish-software.com/blog/one-vcl-per-domain以获取文档和一些例子。
推荐阅读
- node.js - Sagemaker模型训练中的机器学习问题
- c# - 如何在 C# 中使用 EPPlus 删除 Excel 文件的相关人员(作者和修改者)属性
- docker - 如何防止 swarm 容器在移除堆栈后成为孤立容器?
- ios - Mvvmcross 是否支持 IOS BottomSheetController
- node.js - 如何在 Postman、GET request Express 中显示 JSON 响应?
- javascript - 如何在这个 B+tree 中优化实现 Stack 和 Queue 操作?
- ruby-on-rails - 由于 500 错误,部署到 Heroku 后资产未加载
- kubernetes - EKS - NLB 在负载测试期间未在 2 个 pod 之间分配流量
- html - 英雄形象未居中
- unix - 排序忽略小于和大于字符