How to adjust priority for both backend healthy

Guillaume Quintard guillaume at varnish-software.com
Thu Feb 18 17:07:58 UTC 2021


I'm formally abandoning this thread and will only focus on the other one
-- 
Guillaume Quintard


On Thu, Feb 18, 2021 at 8:21 AM Hamidreza Hosseini <hrhosseini at hotmail.com>
wrote:

> I read you article and it was great but I didn't find out my answer, I
> said that I have 2 layer varnish:  disk layer and ram layer and ram layer,
> I want to check the health of layer 2 for example:
>
> Varnish Ram ===> Varnish Disk ===> Webserver
> I adjust this probe on varnish ram:
>
> probe myprobe {
>     .request =
>       "HEAD / HTTP/1.1"
>       "Connection: close"
>       "User-Agent: Varnish Health Probe";
>     .timeout = 1s;
>     .interval = 5s;
>     .window = 5;
>     .threshold = 3;
> }
> and varnish says: ` 0 Backend_health - boot.varnish_1 Still sick --------
> 0 3 5 0.000000 0.000000 Open error 111 (Connection refused)`
> And I think it is right because it checks HEAD / on varnish backends and
> there is nothing there!
> So I'm asking how should I configure the probe to trigger another varnish
> health as a backend
>
> Best regards.
>
> ------------------------------
> *From:* Hamidreza Hosseini
> *Sent:* Thursday, February 18, 2021 5:31 AM
> *To:* varnish-misc at varnish-cache.org <varnish-misc at varnish-cache.org>
> *Subject:* How to adjust priority for both backend healthy
>
> I have two backend that both of them are healthy and I use fallback for
> them and I want to say all request should goes to backend1 and if backend1
> become unhealthy all requests should go to backend2 but backend1 has higher
> priority and when backend1 become healthy, all  requests should go to
> backend1,
> How can I define priority?
> my config:
>
> ```
> vcl 4.1;
>
> import directors;
>
> probe myprobe {
>     .request =
>       "HEAD / HTTP/1.1"
>       "Connection: close"
>       "User-Agent: Varnish Health Probe";
>     .timeout = 1s;
>     .interval = 5s;
>     .window = 5;
>     .threshold = 3;
> }
>
> backend backend1 { .host = "backend1"; .port = "8080"; .probe = myprobe; }
>
> backend backend2 { .host = "backend2"; .port = "8080"; .probe = myprobe; }
> backend backend3 { .host = "backend3"; .port = "8080"; .probe = myprobe; }
>
>
> sub vcl_init {
>
>     new backend2_cluster = directors.round_robin();
>     backend2_cluster.add_backend(backend2);
>     backend3_cluster.add_backend(backend3);
>
>
>     new backend_cluster_fb = directors.fallback();
>     backend1_fb.add_backend(backend1);
>     backend2_cluster_fb.add_backend(backend2_cluster.backend());
> }
>
> sub vcl_recv {
>     set req.backend_hint = backend_cluster_fb.backend();
>
> }
>
> ```
>
> _______________________________________________
> varnish-misc mailing list
> varnish-misc at varnish-cache.org
> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20210218/886eabfe/attachment.html>


More information about the varnish-misc mailing list