Nginx是各大互联网公司常用的java服务器之一,而为了服务器更好的运行和避免崩溃,用户能有更好的使用和体验感,是通过负载均衡的方式来分担服务器压力的。这篇文章介绍Nginx负载均衡策略,帮助大家学习更多的Nginx相关知识。
先来看看Nginx是怎样实现负载均衡的:通过设置特定的策略,使nginx将请求按策略分配到不同的后端服务器,一般可以使用IP分流、服务器压力分流等方法,IP分流可以将请求来源IP在某个范围内的请求传递给相同的后端;服务器压力分流可以根据后端服务器压力的不同,而分配给后端压力相对较小的后端服务器。
常用的Nginx负载均衡策略有六种,下面来逐一介绍这六种Nginx负载均衡:
1、轮询(默认):每个请求轮流分配到不同的后端服务器,如果后端服务器down掉,将自动剔除;
upstream backserver {
server 127.0.0.1:8080;
server 127.0.0.1:9090;
}
2、权重:每个请求按一定比例分发到不同的后端服务器,weight值越大访问的比例越大,用于后端服务器性能不均的情况;
upstream backserver {
server 192.168.0.14 weight=5;
server 192.168.0.15 weight=2;
}
3、ip_hash:ip_hash也叫IP绑定,每个请求按访问ip的hash值分配,这样每个访问客户端会固定访问一个后端服务器,可以解决会话Session丢失的问题;
upstream backserver {
ip_hash;
server 127.0.0.1:8080;
server 127.0.0.1:9090;
}
4、最少连接:web请求会被转发到连接数最少的服务器上
upstream backserver {
least_conn;
server 127.0.0.1:8080;
server 127.0.0.1:9090;
}
负载均衡其他几个配置
upstream backserver {
server 127.0.0.1:9100;
server 127.0.0.1:9200 backup;
}
其中backup表示其它所有的非backup机器down的时候,才请求backup机器;
upstream backserver {
server 127.0.0.1:9100;
server 127.0.0.1:9200 down;
}
其中down表示当前的server是down状态,不参与负载均衡。
以上就是常用的六种Nginx负载均衡策略的介绍,这六种策略中,除了轮询和轮询权重外,都是Nginx根据不同的算法实现的。Java程序员在实际运用中,是需要根据不同的场景选择性运用的,大都是多种策略结合使用以达到实际需求。想学好Nginx负载均衡,只单单掌握这篇文章中的内容是不够的,还是需要在学习java培训课程之余,在项目实际中操作练习,这样才能真正的掌握这些内容。
达芬奇09-04 11:00
军哥07-29 17:02
Code大师09-01 16:01
Code大师09-04 10:18
蛙课视频小助手08-04 16:45