- 常见负载均衡策略
- 基于轮询(Robin 默认):将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器
upstream demo-server {
server localhost:8081;
server localhost:8082;
}
- 基于权重(weight 默认为1):按照比例分发请求 权重越高,被分配的请求数量越多。
upstream demo-server {
server localhost:8081 weight=2;
server localhost:8082 weight=3;
}
- 基于ip_hash :对客户端IP取hash,根据hash值分发 每个请求能够固定访问同一个后端服务器 ,适用有状态请求。
upstream demo-server {
ip_hash;
server localhost:8081;
server localhost:8082;
}
- 基于响应时间 (fair): 响应时间短的节点被优先分配 。需安装nginx-upstream-fair模块
upstream demo-server {
fair;
server localhost:8081;
server localhost:8082;
}
- 最小链接(least_conn):当前连接最小的服务器优先。
upstream demo-server {
least_conn;
server localhost:8081;
server localhost:8082;
}
- url_hash: 按请求url的hash结果来分配请求,使相同url定向到同一个后端服务器,服务器做缓存时比较有效。
upstream demo-server {
hash $request_uri consistent;
server localhost:8081;
server localhost:8082;
}
- 随机 random
upstream demo-server {
random;
server localhost:8081;
server localhost:8082;
}
refs:
http://t.zoukankan.com/jvStarBlog-p-12114594.html
https://blog.youkuaiyun.com/qq_51574197/article/details/117408823#t10
https://www.cnblogs.com/fuyuanming/p/16140545.html