Min*_*ark 44 architecture haproxy varnish
我可以想象两个设置:
负载平衡然后缓存
+-- Cache server #1 (varnish) -- App server #1
/
Load Balancer (haproxy)-+---- Cache server #2 (varnish) -- App server #2
\
+-- Cache server #3 (varnish) -- App server #3
Run Code Online (Sandbox Code Playgroud)
缓存然后负载平衡
+-- App server #1
/
Cache Server (varnish) --- Load Balancer (haproxy) --+---- App server #2
\
+-- App server #3
Run Code Online (Sandbox Code Playgroud)
第一个设置的问题是有多个缓存,这会浪费大量内存并使缓存更加复杂.
第二个设置的问题是可能会出现性能损失和两个单点故障(varnish和haproxy)而不是一个(haproxy)?
我很想接受第二种设置,因为haproxy和varnish都应该快速而稳定:您的意见是什么?
Mat*_*man 38
几年前,我为一个繁忙的Web应用程序构建了一个类似的设置(只有我用Squid而不是Varnish完成),并且它运行良好.
我建议使用您的第一个设置(HAProxy - > Varnish),并进行两项修改:
keepalived
和共享虚拟IP 添加辅助HAProxy服务器balance uri
负载平衡算法优化缓存命中优点:
缺点:
小智 11
两者都有利有弊.更多在下面的博客文章中,包括HAProxy和Varnish的配置:http: //blog.exceliance.fr/2012/08/25/haproxy-varnish-and-the-single-hostname-website/
巴蒂斯特