Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nginx 如何通过缓存对后端(varnish服务器)的请求来实现varnish服务器的负载平衡?_Nginx_Video_Varnish_Haproxy_High Load - Fatal编程技术网

Nginx 如何通过缓存对后端(varnish服务器)的请求来实现varnish服务器的负载平衡?

Nginx 如何通过缓存对后端(varnish服务器)的请求来实现varnish服务器的负载平衡?,nginx,video,varnish,haproxy,high-load,Nginx,Video,Varnish,Haproxy,High Load,请用这张图片清楚地理解它 需要在[balancer]级别为VoD服务实现请求缓存 当file1的request1到达balancer时,它通过循环发送到varnish1服务器,并将该请求保存到本地数据库/缓存等 下一步如果varnish1没有缓存此文件,则将请求发送到本地Web服务器(nginx-VOD1),然后nginx从fs获取varnish1 因此,如果下一个请求是对file1平衡器的请求,则直接将其重定向到varnish1,这样varnish1处的信息不会加倍 因此,接下来的问题的根源是

请用这张图片清楚地理解它 需要在[balancer]级别为VoD服务实现请求缓存

file1request1到达balancer时,它通过循环发送到varnish1服务器,并将该请求保存到本地数据库/缓存

下一步如果varnish1没有缓存此文件,则将请求发送到本地Web服务器(nginx-VOD1),然后nginx从fs获取varnish1

因此,如果下一个请求是对file1平衡器的请求,则直接将其重定向到varnish1,这样varnish1处的信息不会加倍

因此,接下来的问题的根源是:如何实现这个方案或如何以这种方式实现另一个方案-内容不会在不同的清漆缓存中重复

1) 是否有现成的免费/付费解决方案

2) 这项计划是否合理

3) 我应该使用什么作为平衡器(nginx、haproxy、清漆)

4) varnish应将其保存在ssd或memmory的缓存中的什么位置


谢谢

我认为您的模式太复杂,无法优化varnish缓存


我建议简化它,只放一个服务器varnish(更大),它将请求分发到4个后端。

您看过了吗?它似乎完成了您描述的大部分工作,只需要最少的配置,而且只收取带宽费用,而不收取存储费用,所以缓存的大小无关紧要。由于您似乎不太熟悉如何进行设计,因此这可能是一个更好的选择。谷歌云CDN和CloudFlare是类似的服务。谢谢Michael。这些服务是否被DMCA忽略?)没有任何合法的服务提供商无视与知识产权相关的法律法规。。。所以,不,这不是“DMCA忽略”