接nginx的负载算法分析,最近在用varnish缓存图片,目前使用的varnish的版本是6.2,结合官网的负载均衡算法说明有:round_robin(轮询)、fallback(后备)、random(随机)、hash(固定后端req.http.url、req.http.cookie)、shard(分片)。
http://varnish-cache.org/docs/6.2/reference/vmod_directors.html
目前高可用上采用的为轮询算法,在vcl文件中的大体写法如下:
import directors; # load the directors
backend server1 {
.host = "192.168.0.10";
}
backend server2 {
.host = "192.168.0.10";
}
sub vcl_init {
new bar = directors.round_robin();
bar.add_backend(server1);
bar.add_backend(server2);
}
总结:必须引入import directors;且在vcl_init 中将后台服务添加到.round_robin中去。