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: [email protected] <[email protected]>
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
[email protected]
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc

Reply via email to