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();
}
```
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();
}
```