我设置了 Varnish 。我要禁用 Varnish 中的后端,同时一一更新服务器。进行健康检查是一种方法,但是如果我每20秒进行一次健康检查,在最坏的情况下仍然会有20秒的停机时间。我发现可以通过varnishadm设置后端的运行状况。例如:
varnishadm backend.set_health backend1 sick
问题是,当我这样做时, Varnish 仍然发送健康检查并将后端设置为健康。是否有暂时禁用健康检查的方法?
最佳答案
varnishadm backend.list
的输出是什么
我的就是这样的:
varnish> backend.list
200
Backend name Admin Probe
84941fd7f319.default probe Healthy 4/5
varnish> backend.set_health default sick
200
varnish> backend.list
200
Backend name Admin Probe
84941fd7f319.default sick Healthy 5/5
如您所见,我们首先从启用了探针的健康后端开始,然后将其标记为有病,并且从管理员PoV来看它会被视为有病,但是某些类型的探针记录仍然可用。
最重要的是,不会将任何请求发送给后端标记为“有病”。
关于varnish - 通过varnishadm禁用 Varnish 健康检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47922658/