我需要varnish来直接返回数据,并在每次后端正常时更新缓存。当后端关闭时,我还需要varnish来从缓存中返回最后一个正常的beresq数据。我怎么用清漆做什么?
答案 0 :(得分:0)
我只是解决它。当后端启动时,使用req.hash_always_miss = true传递数据。当后端关闭时,对FEATCH_FAILED做出响应并使用vcl_synth重新启动recv。
vcl 4.0;
backend default {
.host = "127.0.0.1";
.port = "4567";
}
sub vcl_recv {
if (req.restarts == 0) {
set req.hash_always_miss=true;
} else {
set req.hash_always_miss=false;
}
}
sub vcl_backend_error {
return (abandon);
}
sub vcl_synth {
return (restart);
}