可以通过独立应用程序指定Varnish后端吗?

时间:2017-07-09 08:32:04

标签: varnish varnish-vcl

目前我们有3个应用程序(清漆后端):

  1. 商铺
  2. CMS
  3. 路由 - 应用程序返回应选择后端的状态代码。
  4. 这之间的主要思想是我们为Eshop和CMS拥有相同的域名。并且所有链接都存储在MySQL数据库中。因此,要确定清漆应该在哪里,我们正在使用一些路由应用程序。

    如果我们在 vcl_recv 中点击路由后端,我们正在检查 vcl_backend_response 中的状态并切换后端,如下所示:

    sub vcl_backend_response {
        if (591 == beresp.status) {
            set bereq.backend = eshopDirector.backend();
            return (retry);
    
        } elsif (592 == beresp.status || 593 == beresp.status || 594 == beresp.status) {
            set bereq.backend = cmsDirector.backend();
            return (retry);
        }
    }
    

    重试之后,我们没有缓存结果,因为没有再次点击 vcl_recv 阶段来确定是否必须从缓存或后端本身检索结果。

    所以这里的问题是,有没有办法确定哪些后端必须从 vcl_recv 阶段使用,以便之后获得缓存结果? 也许有可能从那里发出CURL请求以从路由应用程序获取状态并相应地处理它?<​​/ p>

0 个答案:

没有答案