我可以想象两个设置:
负载平衡然后缓存
+-- Cache server #1 (varnish) -- App server #1
/
Load Balancer (haproxy)-+---- Cache server #2 (varnish) -- App server #2
\
+-- Cache server #3 (varnish) -- App server #3
缓存然后负载平衡
+-- App server #1
/
Cache Server (varnish) --- Load Balancer (haproxy) --+---- App server #2
\
+-- App server #3
第一个设置的问题是存在多个缓存,这会浪费大量内存,使缓存无效变得更加复杂。
第二个设置的问题是,可能会有性能问题和两个单一的故障点(清漆和that )而不是仅仅一个(That)?
我很想使用第二种设置,因为哈代理和清漆都应该是快速而稳定的:你的看法是什么?
发布于 2013-06-03 08:37:21
几年前,我为一个繁忙的web应用程序构建了一个类似的设置(只是我使用Squid而不是Varnish),而且效果很好。
我建议使用您的第一个安装程序(HAProxy ->漆),并进行两次修改:
keepalived
服务器balance uri
负载平衡算法优化缓存命中优点:
缺点:
发布于 2013-03-16 05:47:48
两者都有利与弊。在下面的博客文章中有更多的内容,包括HAProxy和Varnish:http://blog.exceliance.fr/2012/08/25/haproxy-varnish-and-the-single-hostname-website/的配置。
巴普蒂斯特
发布于 2017-01-17 11:53:31
为什么不使用2个LB,第一个LB可以使用balance uri
选项,第二个LB可以使用您选择的策略(工作负载,循环)
+-- Cache Server #1 --+ +-- App server #1
/ \ /
LB #1 --+ + -- LB #2 --+---- App server #2
\ / \
+-- Cache Server #2 --+ +-- App server #3
在你需要的地方,你需要多少。如果您发现自己在缓存方面没有瓶颈,只需删除LB#1并将一个缓存服务器放在前面
https://stackoverflow.com/questions/15448196
复制相似问题