使用Varnish作为负载平衡器

Varnish已经支持负载均衡HTTP 1.1和Web Socket请求,例如https://www.varnish-cache.org/trac/wiki/LoadBalancing

由于我们已经使用Varnish进行caching,如果我们在Varnish之前添加nginxha proxy来进行负载平衡,是否有任何好处,还是应该使用Varnish进行负载平衡?

似乎这种做法相当less见,为什么?

免责声明:我是一个清漆fanboy。

我不知道有人把nginx放在varnish的前面:他们有时会做相反的事,因为nginx应该是一个轻量级的web服务器。

除非我有一个很好的理由不这样做,否则我会用清漆做负载平衡。

然而使用清漆进行负载平衡可能会很棘手:

  • 你不希望清漆成为单点故障,所以你至less要考虑2台服务器。

  • 通过主动设置,您必须处理caching一致性问题,并在更新的情况下设置URL清除。

  • 随着主动被动设置,你将不得不处理caching冲突。