【问题标题】:Programmatically adding/removing backends to/from Varnish-cache 4.x以编程方式在 Varnish-cache 4.x 中添加/删除后端
【发布时间】:2015-03-10 05:43:24
【问题描述】:

我有一个用于为 varnish 3.x 添加和删除后端的简单程序。 它以一种简单的方式完成:有一个 python 程序接受 HTTP 请求以添加和删除命名服务的后端。它使用 VCL 配置添加和删除特定导向器的后端,然后重新加载 varnish 的配置。

现在我想知道如何为新的 (4.x) Varnish-cache 实现这样的方案。我从文档 directors have moved from VCL modules 到 VMOD loadables 看到了。正如我所看到的,现在不可能在不重新启动整个清漆的情况下即时添加新的后端或导演。还是我错了?

所以问题是:

  1. Varnish-cache 4.x 是否有任何外部 [用于 varnish 本身] API 来管理配置和控制器?
  2. 在 Varnish 4.x 中无需重新启动 varnish 即可自动管理导向器的最佳方式是什么?

【问题讨论】:

    标签: varnish varnish-vcl


    【解决方案1】:

    将导向器转移到 VMOD 是使 API 服务成为您所要求的 #1 的一个步骤。

    编写 VCL 并在更改时加载它的软件可以像以前一样继续运行。只是在 4.0 中改变了符号/语法。像往常一样使用 vcl.load / vcl.discard 和 varnishadm 来执行 #2。

    【讨论】:

    • 感谢您的回答!所以VMOD中带导演的新功能只是一个附加功能,并没有取代旧模式,我理解对了吗?
    • 您找到解决此@OlegBorisenko 的方法了吗?看来您无法使用 V4 加载单个后端(在 director 之后),至少我不知道从哪里获取 director 变量。
    • @yawn 不,我还没试过(按计划,我会在四月做)
    • 我测试了一堆东西,只需重新加载 while (boot) VCL 就可以了。不过,如果我们能为导演提供remove_backend 补充,我会非常棒。这样可以更轻松地在不生成 VCL 的情况下即时添加和删除后端。
    • @yawn 我们正在“动态后端”概念下对此进行研究。做起来相当复杂,所以需要一些时间才能把它做好。我不认为它会进入 4.1,但应该在今年的某个时候成为大师。
    猜你喜欢
    • 1970-01-01
    • 2017-04-17
    • 2012-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多