Nginx 负载均衡算法之一 轮询算法
Nginx 算法之一 轮询算法
- nginx 配置2个tomcat集群,然后采用nginx进行反向代理,平均分配给2个tomcat,没有设置权重
#设置tomcat 集群
upstream local{
server localhost:8181;
server localhost:8585;
}
server {
listen 80;
server_name localhost; #访问的域名
location / {
proxy_pass http://local/; #指向tomcat 集群
}
每一次请求先分配给8181端口的tomcat,第二次请求分配给8585的tomcat , 第三次是8181,第四次是给8585…
很公平的平均分配给每个tomcat
- 算法实现
每次根据请求数次数对容器数量取模,结果是0,1 0,1,0,1 (这里是2个容器)这在这种结果来达到访问tomcat或者其他容器
Integer perCount = count%2; //这里默认两个容器
//假如8个请求
for (int i = 0; i < 8; i++) {
count++;
perCount = i%2;
System.out.println(perCount);
if(perCount == 0) {
System.out.println("此次请求访问的Server : tomcat1" );
}else {
System.out.println("此次请求访问的Server : tomcat2" );
}
}
结果