<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hi,<br>
I want to use varnish in my scenario as cache service, I have about 10 http servers that serve Hls fragments as the backend servers and about 5 varnish servers for caching purpose, the problem comes in when I use round-robin director for backend servers in
 varnish,</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
if a varnish for specific file requests to one backend server and for the same file but to another backend server it would cache that file again because of different Host headers ! so my solution is using fallback director instead of round-robin as follow:</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
```</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
In varnish-1:
<div>    new hls_cluster = directors.fallback();</div>
<div>    hls_cluster.add_backend(b1());</div>
<div>    hls_cluster.add_backend(b2());    </div>
<div>    hls_cluster.add_backend(b3());    </div>
<div>    hls_cluster.add_backend(b4());    </div>
<div>    hls_cluster.add_backend(b5());    </div>
<div>    hls_cluster.add_backend(b6());    </div>
<div>    hls_cluster.add_backend(b7());    </div>
<div>    hls_cluster.add_backend(b8());    </div>
<div>    hls_cluster.add_backend(b9());    </div>
<div>    hls_cluster.add_backend(b10());</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>In varnish-2:</div>
<div>    new hls_cluster = directors.fallback();</div>
<div>    hls_cluster.add_backend(b10());</div>
<div>    hls_cluster.add_backend(b1());</div>
<div>    hls_cluster.add_backend(b2());    </div>
<div>    hls_cluster.add_backend(b3());    </div>
<div>    hls_cluster.add_backend(b4());    </div>
<div>    hls_cluster.add_backend(b5());    </div>
<div>    hls_cluster.add_backend(b6());    </div>
<div>    hls_cluster.add_backend(b7());    </div>
<div>    hls_cluster.add_backend(b8());    </div>
<div>    hls_cluster.add_backend(b9());    </div>
<div><br>
</div>
<div><br>
</div>
<div>In varnish-3:</div>
<div>    new hls_cluster = directors.fallback();</div>
<div>    hls_cluster.add_backend(b9());    </div>
<div>    hls_cluster.add_backend(b1());</div>
<div>    hls_cluster.add_backend(b2());    </div>
<div>    hls_cluster.add_backend(b3());    </div>
<div>    hls_cluster.add_backend(b4());    </div>
<div>    hls_cluster.add_backend(b5());    </div>
<div>    hls_cluster.add_backend(b6());    </div>
<div>    hls_cluster.add_backend(b7());    </div>
<div>    hls_cluster.add_backend(b8());    </div>
<div>    hls_cluster.add_backend(b10());</div>
<div><br>
</div>
<span></span>```<br>
But I think this is not the best solution, because there is no load balancing despite, I used different backend for the first argument of fallback directive,<br>
What is varnish recommendation for this scenario?</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
</body>
</html>