首页 > 代码库 > nginx 负载均衡策略
nginx 负载均衡策略
nginx 负载均衡策略
1. 轮询
轮询方式是nginx负载均衡的默认策略,根据每个server的权重值来轮流发送请求,例如:
upstream backend {
server backend1.example.com;
server backend2.example.com;
}
这种情况是每个server都使用相同的权重,默认值为1
可以手动设定权重,例如
upstream backend {
server backend1.example.com weight=5;
server backend2.example.com;
}
2. 最少连接数
把请求发送给激活连接数最少的那台服务器
设置方式
upstream backend {
least_conn;
server backend1.example.com;
server backend2.example.com;
}
3. 最少延时
把请求发送给连接延时最小的那台服务器
延时的计算方式有两种:
(1)header - 从server接收到第一个byte的时间
(2)last_byte - 从server接收到全部响应的时间
设置方式
upstream backend {
least_time header;
server backend1.example.com;
server backend2.example.com;
}
4. ip hash
根据用户IP计算出一个hash值,并记录下来,以后相同hash值的请求都发送到同一个server,同一个用户的请求始终使用同一台服务器,不用担心跨服务器时的session问题
设置方式
upstream backend {
ip_hash;
server backend1.example.com;
server backend2.example.com;
}
5. 通用hash
对用户指定的key进行hash计算,可以指定文本、变量或者组合
设置方式
upstream backend {
hash $request_uri consistent;
server backend1.example.com;
server backend2.example.com;
}
轮询方式是nginx负载均衡的默认策略,根据每个server的权重值来轮流发送请求,例如:
upstream backend {
server backend1.example.com;
server backend2.example.com;
}
这种情况是每个server都使用相同的权重,默认值为1
可以手动设定权重,例如
upstream backend {
server backend1.example.com weight=5;
server backend2.example.com;
}
2. 最少连接数
把请求发送给激活连接数最少的那台服务器
设置方式
upstream backend {
least_conn;
server backend1.example.com;
server backend2.example.com;
}
3. 最少延时
把请求发送给连接延时最小的那台服务器
延时的计算方式有两种:
(1)header - 从server接收到第一个byte的时间
(2)last_byte - 从server接收到全部响应的时间
设置方式
upstream backend {
least_time header;
server backend1.example.com;
server backend2.example.com;
}
4. ip hash
根据用户IP计算出一个hash值,并记录下来,以后相同hash值的请求都发送到同一个server,同一个用户的请求始终使用同一台服务器,不用担心跨服务器时的session问题
设置方式
upstream backend {
ip_hash;
server backend1.example.com;
server backend2.example.com;
}
5. 通用hash
对用户指定的key进行hash计算,可以指定文本、变量或者组合
设置方式
upstream backend {
hash $request_uri consistent;
server backend1.example.com;
server backend2.example.com;
}
nginx 负载均衡策略
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。