В документации к модулю режима святого Varnish 4 указано, что при достижении порога объектов в черном списке сервер будет помечен как неработоспособный. Я установил конфигурацию с одним сервером и порогом 0 (также пробовал 1):
new saint1 = saintmode.saintmode(server1, 0);
new vdir = directors.round_robin();
vdir.add_backend(saint1.backend());
У меня также есть логика для обработки нездоровых бэкендов:
if (!std.healthy(req.backend_hint)) {
if (obj.ttl + obj.grace > 0s) {
return (deliver);
}
} else {
if (obj.ttl + 30s > 0s) {
return (deliver);
}
}
Когда у меня есть страница с ошибкой, похоже, что она использует логику для исправного бэкэнда. Он будет показывать страницу в течение 30 секунд после истечения срока действия и не более. Разве святой не должен больше отмечать бэкэнд как нездоровый, чтобы он использовал больше времени?