<div dir="ltr"><div><div><div><div><div>I've written a custom program to generate backends based off DNS records (It's deeply custom to our use case, so sharing it probably won't help you too much).  <br><br></div>In short it is called by cron every minute.  It wakes up, gathers all the IPs of all the various backends, and builds the backend definition for them, and wraps each backend up in a director [1].<br><br></div>If the resulting file is different from the current one, swap the file out, and replace it with the new one, then call 'service varnish reload'.  Every hour another cron job wakes up and runs 'varnishadm vcl.discard <inactive configs>'.  <br><br></div>This process works fairly well at high load, and doesn't flush the cache.  It also relies on probe definitions requiring that new IPs pass one health check (at least) before traffic is sent to them.<br><br></div>-Jason<br><br></div>[1] Alternatively, in AWS it could wake up, scan the instances for various tag attributes and rely on those as backends.  I've used that formula with success as well.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 30, 2015 at 1:57 PM, Kevin Day <span dir="ltr"><<a href="mailto:toasty@dragondata.com" target="_blank">toasty@dragondata.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I have a use case where I need to be able to take an incoming request like “/XXX/filename” and translate that to fetching “<a href="http://nodeXXX.example.com/filename" target="_blank">http://nodeXXX.example.com/filename</a>” where there’d literally be hundreds of backend servers. i.e. XXX would be a varying 3 digit number.<br>
<br>
I saw this post here:<br>
<br>
<a href="https://www.varnish-software.com/blog/truly-dynamic-backend-definition-varnish" target="_blank">https://www.varnish-software.com/blog/truly-dynamic-backend-definition-varnish</a><br>
<br>
>From 2012, but I know a lot has changed since then. Is there an easy way this can be accomplished now?<br>
<br>
— Kevin<br>
<br>
<br>
_______________________________________________<br>
varnish-misc mailing list<br>
<a href="mailto:varnish-misc@varnish-cache.org">varnish-misc@varnish-cache.org</a><br>
<a href="https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc" target="_blank">https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc</a></blockquote></div><br></div>