Nginx的负载均衡策略

Nginx的负载均衡策略

个人博客地址: https://note.raokun.top
拥抱ChatGPT,国内访问网站:https://www.playchat.top

共六种: 轮询、权重、ip_hash、least_conn、fair、url_hash

1、轮询(Round Robin)负载均衡策略:这是一种基本的负载均衡策略,将请求顺序转发给每个后端服务器,每个后端服务器依次处理请求,而轮询正是按照这样的方式平均地为每个后端服务器分配请求。

http {
upstream backend {
   server backend1.example.com;
   server backend2.example.com;
   server backend3.example.com;
}

server {
   listen 80;
   server_name example.com;

   location / {
      proxy_pass http://backend;
   }
}

}

2、权重(Weight)负载均衡策略:通过为每个后端服务器分配不同的权重,将请求按照权重比例分配到不同的后端服务器,以实现负载均衡。例如,如果后端服务器A的权重是3,后端服务器B的权重是2,则在处理请求时,服务器A会收到3/(3+2)=60%的请求,而服务器B会收到 2/(3+2)=40%的请求。

http {
upstream backend {
   server backend1.example.com weight=5;
   server backend2.example.com weight=10;
   server backend3.example.com weight=5;
}

server {
   listen 80;
   server_name example.com;

   location / {
      proxy_pass http://backend;
   }
}
}

3、IP散列(ip_hash)负载均衡策略:使用客户端的IP地址来计算散列值,将同一个IP地址的请求发送到同一个后端服务器上,以实现会话保持(Session Persistence)。

http {
upstream backend {
   ip_hash;

   server backend1.example.com;
   server backend2.example.com;
   server backend3.example.com;
}

server {
   listen 80;
   server_name example.com;

   location / {
      proxy_pass http://backend;
   }
}

}

4、最少连接数(least_conn)负载均衡策略:将请求发送到当前连接数最少的后端服务器上,以达到最优的负载均衡效果。

http {
upstream backend {
   least_conn;

   server backend1.example.com;
   server backend2.example.com;
   server backend3.example.com;
}

server {
   listen 80;
   server_name example.com;

   location / {
      proxy_pass http://backend;
   }
}

}  

5、公平(fair)负载均衡策略:将请求基于当前后端服务器的处理速度,将请求发送到当前处理速度最快的后端服务器上,以充分利用服务器资源并提高响应速度。

http {
upstream backend {
  server backend1.example.com;
  server backend2.example.com;
  fair;
}

server {
  listen 80;
  location / {
    proxy_pass http://backend;
  }
}
}  

6、URL散列(url_hash)负载均衡策略:使用客户端请求中的URL地址计算散列值,并将同一个URL地址的请求发送到同一个后端服务器上,以实现会话保持(Session Persistence)和动态负载均衡(Dynamic Load Balancing)功能。

http {
upstream backend {
  server backend1.example.com;
  server backend2.example.com;
  hash $request_uri;
  hash_method crc32;
}

server {
  listen 80;
  location / {
    proxy_pass http://backend;
  }
}
} 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值