负载均衡用来解决用户请求到来时如何选择 upstream server 进行处理,这里主要介绍几种负载均衡算法。
1、round-robin:轮询,默认负载均衡算法,即以轮询的方式将请求转发到上游服务器,通过配合weight配置可以实现基于权重的轮询。
upstream bakend {
server 192.168.1.1:8080 weight=1;
server 192.168.1.2:8080 weight=1;
}
2、weight:权重,weight用来配置权重,默认都是1,权重越高分配给这台服务器的请求就越多,需要根据服务器实际处理能力设置权重。
upstream bakend {
server 192.168.1.1:8080 weight=1;
server 192.168.1.2:8080 weight=2;
}
3、ip_hash:根据客户IP进行负载均衡,即相同的IP将负载均衡到同一个upstream server。
upstream bakend {
ip_hash;
server 192.168.1.1:8080 weight=1;
server 192.168.1.2:8080 weight=2;
}
4、hash key:对某一个key进行哈希或者使用一致性哈希算法进行负载均衡。
- 哈希算法:此处是根据请求uri进行负载均衡。
upstream bakend {
hash $uri;
server 192.168.1.1:8080 weight=1;
server 192.168.1.2:8080 weight=2;
}
- 一致性哈希算法:consistent_key 动态指定。
upstream bakend {
hash $consistent_key consistent;
server 192.168.1.1:8080 weight=1;
server 192.168.1.2:8080 weight=2;
}
5、least_conn:将请求负载均衡到最少活跃连接的上游服务器。如果配置的服务器较少,则将转而使用基于权重的轮询算法。
upstream bakend {
least_conn;
server 192.168.1.1:8080 weight=1;
server 192.168.1.2:8080 weight=2;
}
今天的文章nginx负载均衡算法8种_redis负载均衡策略[通俗易懂]分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/72541.html