分类 Nginx 下的文章

Nginx的负载均衡模块目前支持如下调度算法:

  • round-robin

Nginx默认的轮询算法,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器宕机,故障系统将被自动剔除,使用户访问不受影响。可以通过weight指定轮询权值,weight值越大,该服务器被访问的概率越高,这主要用户后端每个服务器性能不均的情况。

  • least_connected

请求会被发送到活跃连接数最少的服务器上。配置例子如下:

upstream backend {
    least_conn; # 默认的轮询算法不需要指定,如果选择其他算法需要指定算法类型
    server 127.0.0.1:8000;
    server 127.0.0.1:8001;
}
  • ip_hash

按访问IP的哈希结果分配请求。也就是说,来自同一个IP的用户会固定访问一个后端服务器。

upstream backend {
    ip_hash;
    server 127.0.0.1:8000;
    server 127.0.0.1:8001;
}