Please use this pic to understand it clearly Architecture as I see Need to realize request caching at [balancer] level for VoD service.
When reqst1 for file1 is come to balancer it send it by round-robin to varnish1 server and save this request to local db/cache etc.
Next if varnish1 hasn't this file at cache it send request to local webserver (nginx-VOD1) and after that nginx got file1 from fs for varnish1.
So if the next request is for file1 balancer directly redirect it to varnish1 so the info at the varnishes doesn't double.
So the root of issue next: how to realize this scheme or how to realize the other scheme in such way - the content doesnt double at different varnish caches?
1)Is there ready free/pay solution?
2)Is this scheme justified?
3)What I should use as balancer(nginx, haproxy, varnish)?
4)Where varnish should save it cache at ssd or at memmory?
Thanks