【问题标题】:Multiple url purging Varnish issue多个 url 清除清漆问题
【发布时间】:2013-03-04 14:07:47
【问题描述】:

我对清漆清洗有疑问:

我们的应用程序非常动态。 因此,对象 A 上的事件将生成 10.000 次清除,因为对象 A 信息存在于所有页面中。

对象 A 是统计卖家,页面是广告页面。

我们通过使用 curl 的 php 代码中的 varnish 的异步 http PURGE 调用来管理它。

所以我们会有 10000 个 http 调用 无法计算网址(因此 REgex 不是选项)

我想问你们,清漆有没有可能做一些批量清除(HTTP接口)?

如果不是,当模型和事件对您的页面有很大影响时,您在一个非常动态的应用程序中测试和工作的选项是什么?

提前致谢 纳比尔

【问题讨论】:

    标签: varnish varnish-vcl


    【解决方案1】:

    通过varnishadm 运行清除将是您最好的选择。您可以通过 SSH 隧道命令(假设您正在处理远程 Varnish 服务器)或允许从您的 Web 服务器远程访问 Varnish 服务器。

    您可以使用 varnishadm 轻松编写自己的 shell 脚本来运行批处理清除,或者您可以查看 Thinner,这是一个基于 Ruby 的清除程序,可以完全满足您的需求。

    您很可能已经考虑过的显而易见的替代方法是重新编写您的应用程序以在 URL 或自定义标头中包含 Object A(例如 X-Object: A),所以您可以根据该标题执行禁令:

    sub vcl_recv {
      if (req.request == "BAN") {
        ban("obj.http.x-object == " +  req.http.x-object);
      }
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-21
    • 1970-01-01
    • 1970-01-01
    • 2014-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多