Nginx负载均衡配置、常用策略、场景及特点
1.轮询(默认)
优点:实现简单
缺点:不考虑每台服务器的处理能力
配置:
upstream www.happymmall.com{
server www.happymmall.com:8080;
server www.happymmall.com:9080;
}
2.权重 (一台服务器性能差,一台服务器性能好,如果我们想把更多的服务交给性能好的服务器可以使用该模式)
优点:考虑了每台服务器处理能力的不同
配置:
upstream www.happymmall.com{
server www.happymmall.com:8080 weight=15;
server www.happymmall.com:9080 weight=10;
}
3.ip hash(根据你的ip哈希值匹配后分配给对应的服务器)
优点:能实现同一个用户服务同一个服务器
缺点:根据iphash不一定平均
配置:
upstream www.happymmall.com{
ip_hash;
server www.happymmall.com:8080;
server www.happymmall.com:9080;
}
4.url hash(第三方,需要插件)(根据请求的url进行hash)
优点:能实现同一个服务访问同一个服务器
缺点:根据url hash分配请求会不平均,请求频繁的url会请求到同一个服务器上
配置:
upstream www.happymmall.com{
server www.happymmall.com:8080;
server www.happymmall.com:9080;
hash $request_uri;
}
5.fair(公平的)(第三方,需要插件)
特点:按后端服务器的响应时间来分配请求,响应时间短的优先分配
配置:
upstream www.happymmall.com{
server www.happymmall.com:8080;
server www.happymmall.com:9080;
fair;
}
日拱一卒无有尽,功不唐捐终入海