nginx的可以根据客户端IP进行负载均衡。
nginx的的上游目前支持的5种方式的分配
1,轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down down,能自动剔除
.instream backserver {
server ip地址A;
server ip地址B;
}
2,指定权重
指定轮询几率,权重和访问比率成正比,用于后端服务器性能不均的情况
.instream backserver {
server ip地址A权重= 10;
服务器ip地址B权重= 10;
}
3,IP绑定ip_hash
每个请求按访问IP的散列结果分配,这样每个访客固定访问一个后端服务器,可以解决会话的问题。
上游backserver {
ip_hash;
server ip地址A;
server ip地址B;
}
4,fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配
.instream backserver {
server ip地址A;
server ip地址B;
公平;
}
5,url_hash(第三方)
上游backserver {
server squid1:3128; 按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
server squid2:3128;
hash $ request_uri;
hash_method crc32;
}
6,负载均衡扩展