我想负载平衡我的应用程序服务器,以及caching来自他们的回应。
我已经阅读了一篇可以追溯到2012年的HAProxy网站上的文章,这本来是为了澄清HAProxy和Varnish之间的混淆:
http://blog.haproxy.com/2012/07/04/haproxy-and-varnish-comparison/
本文基本上说,HAProxy只是一个反向代理负载平衡器(无caching),而Varnish是一个反向代理caching(无负载平衡),因此它们是互补的。
但是今天,我可以看到在Varnish docs中它也有负载平衡:
https://www.varnish-cache.org/trac/wiki/LoadBalancing
所以我只能猜测这个function是从2012年开始引入的,现在它直接和HAProxy在负载均衡方面进行竞争。
现在考虑到我需要一个反向代理caching+负载平衡器,是真的,我可以使用一个单一的服务器只有光油,这将做到这两个? 与典型的HAProxy光油设置相比,任何限制都是可能的。
清漆不支持SSL
在SSL上运行站点/服务对于任何事情来说都是非常必要的,所以这就是使用haproxy来完成SSL终止的一个原因。
虽然HAProxy和Varnish 都可以进行负载平衡,但只有其中一个是为其构build的。
你也可以使用Apache来达到你的目的,因为它也可以代理和caching,但它不是一个最佳的解决scheme。
在我看来,你最好是使用每个产品的最好的。
我所做的是安装在同一个盒子上,并将Varnishconfiguration为使用HAProxy作为唯一的后端。
CDN指向HAPROXY,然后在Varnish和后端之间进行负载平衡,默认发送到Varnish,除非请求来自基于标头或源IP的Varnish。
这样你可以:
与大多数实现基本负载平衡的软件一样,Varnish实际上只支持循环和随机平衡algorithm。
另一方面,HAProxy是为负载平衡而构build的,因此支持 :
Varnish的负载平衡是否足够取决于您的需求,但是它肯定没有取代HAProxy。