首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是在清漆前面,还是在另一边?

是在清漆前面,还是在另一边?
EN

Stack Overflow用户
提问于 2013-03-16 10:34:20
回答 4查看 21.3K关注 0票数 45

我可以想象两个设置:

负载平衡然后缓存

代码语言:javascript
运行
复制
                          +-- Cache server #1 (varnish) -- App server #1
                         /
Load Balancer (haproxy)-+---- Cache server #2 (varnish) -- App server #2
                         \
                          +-- Cache server #3 (varnish) -- App server #3

缓存然后负载平衡

代码语言:javascript
运行
复制
                                                       +-- App server #1
                                                      /
Cache Server (varnish) --- Load Balancer (haproxy) --+---- App server #2
                                                      \
                                                       +-- App server #3

第一个设置的问题是存在多个缓存,这会浪费大量内存,使缓存无效变得更加复杂。

第二个设置的问题是,可能会有性能问题和两个单一的故障点(清漆和that )而不是仅仅一个(That)?

我很想使用第二种设置,因为哈代理和清漆都应该是快速而稳定的:你的看法是什么?

EN

回答 4

Stack Overflow用户

发布于 2013-06-03 16:37:21

几年前,我为一个繁忙的web应用程序构建了一个类似的设置(只是我使用Squid而不是Varnish),而且效果很好。

我建议使用您的第一个安装程序(HAProxy ->漆),并进行两次修改:

  1. 使用HAProxy和共享虚拟IP添加辅助keepalived服务器
  2. 使用balance uri负载平衡算法优化缓存命中

优点:

  • 使用HAProxy (x2)和清漆(x3)冗余实现心灵的平静
  • 使用HAProxy URI负载平衡选项更好地提高清漆命中率效率
  • 缓存服务器的性能更好,因为它们不需要在内存中保存那么多
  • 使缓存无效更容易,因为每次相同的URI都会转到同一台服务器。

缺点:

  • URI平衡工作良好,但如果缓存服务器出现故障,则后端服务器将被击中,因为从更新的URI平衡散列中提取空闲的另一个缓存服务器将需要重新检索缓存的数据。也许不是什么大骗局,但我必须记住这一点,因为我的系统。
票数 38
EN

Stack Overflow用户

发布于 2013-03-16 13:47:48

两者都有利与弊。在下面的博客文章中有更多的内容,包括HAProxy和Varnish:http://blog.exceliance.fr/2012/08/25/haproxy-varnish-and-the-single-hostname-website/的配置。

巴普蒂斯特

票数 11
EN

Stack Overflow用户

发布于 2017-01-17 19:53:31

为什么不使用2个LB,第一个LB可以使用balance uri选项,第二个LB可以使用您选择的策略(工作负载,循环)

代码语言:javascript
运行
复制
          +-- Cache Server #1 --+                +-- App server #1
         /                       \              /
LB #1 --+                         + -- LB #2 --+---- App server #2
         \                       /              \
          +-- Cache Server #2 --+                +-- App server #3

在你需要的地方,你需要多少。如果您发现自己在缓存方面没有瓶颈,只需删除LB#1并将一个缓存服务器放在前面

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15448196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档