我有一个简单的程序,用于添加和删除 varnish 3.x 的后端。 它的完成方式很简单:有一个 python 程序,它接受 HTTP 请求来添加和删除命名服务的后端。它使用 VCL 配置添加和删除特定 Controller 的后端,然后重新加载 varnish 的配置。
现在我想知道如何为新的(4.x)Varnish-cache 实现这样的方案。我从文档中看到directors have moved from VCL模块到 VMOD 可加载文件。在我看来,现在不可能在不重新启动整个 Varnish 的情况下动态添加新的后端或 Controller 。还是我错了?
所以问题是:
- Varnish-cache 4.x 是否有任何外部 [varnish 本身] API 用于管理配置和 Controller ?
- 在 Varnish 4.x 中自动管理 Controller 而不需要重新启动 Varnish 的最佳方式是什么?
最佳答案
将 Controller 移至 VMOD 是让您询问的 API 服务成为 #1 的一个步骤。
编写 VCL 并在更改时加载它的软件可以继续像以前一样运行。 4.0 中仅改变了符号/语法。像平常一样使用 vcl.load/vcl.discard 和 varnishadm 来执行 #2。
关于varnish - 以编程方式向 Varnish-cache 4.x 添加/删除后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27902313/