In this post, I will explain how to create a highly available, self-routing sharded Varnish Cache cluster. This is similar to a standard sharded cluster with one exception, there is no dedicated routing tier. Each node in the cluster can route the request to the proper destination node, by itself.
This blog post is part two of a two-part series. (Find part one here.)
Hello there! Welcome to the second part of this article in which we'll discuss a bit about directors and how to use them as well as an introduction to load balancing. The first part was about backends and probes, so if you don't know about them already, it's probably a good start to read it first. Go ahead, I'll wait.
Ready? Good!
Let's look back at our VCL from the previous post:
backend alpha { .host = "192.168.0.101"; }
backend bravo { .host = "192.168.0.102"; }
sub vcl_recv {
if (req.http.host == "alpha.example.com") {
set req.backend_hint = alpha;
} else if (req.http.host == "bravo.example.com") {
set req.backend_hint = bravo;
} else {
return (synth(404, "Host not found"));
}
}
This blog post is part one of a two-part series. (Find part two here.)
Did you know that originally Quentin Tarantino's Kill Bill was supposed to be one four-hour movie? Later, he decided to make it a two-part deal, allowing him to give each part a very different feel and tone. It also happened to George RR Martin with the Storm of Swords book: it grew so big that he eventually had to split it in two volumes, so we don't have to read a 1,300-page book.
12 Comments