博客信息

Nginx负载均衡

发布时间:『 2020-03-06 05:00』  博客类别:中间件  阅读(626)

简介

负载均衡原理图

小李飞刀_Nginx


实现


宿主机里home目录下新建tomcat1和tomcat2目录,复制容器里conf,webapps到宿主机

docker cp  30e862c2d8f1:/usr/local/tomcat/conf  /home/tomcat2/
docker cp 30e862c2d8f1:/usr/local/tomcat/webapps /home/tomcat2/

修改共享目录tomcat1、tomcat2中的文件(server.xml、index.jsp),用于查看负载均衡的效果;

docker run -d --name tomcat1 -p 8080:8080 -v /home/tomcat1/conf/:/usr/local/tomcat/conf/  -v /home/tomcat1/webapps/:/usr/local/tomcat/webapps/   6408fdc94212

docker run -d --name tomcat2 -p 9090:9090 -v /home/tomcat2/conf/:/usr/local/tomcat/conf/ -v /home/tomcat2/webapps/:/usr/local/tomcat/webapps/   6408fdc94212

修改nginx.conf===》指定具体代理的目标服务器

    upstream www.feidao.com{
        server 172.17.0.3:8080 weight=1;
        server 172.17.0.4:9090 weight=2;
  }

default.conf===》server.server_name(用户访问URL),server.location指定跳转到目标服务器

location / {
      #root   /usr/share/nginx/html;
      #proxy_pass   http://172.17.0.3:8080;
      proxy_pass   http://www.feidao.com;
      index index.html index.htm;
  }

测试结果:访问 http://www.feidao.com/ ,页面会出现8080、9090不同的输出;并且频率会与weight正相关;

负载均衡策略


每个请求轮流分配到不同的后端服务器,如果后端服务器挂掉,则自动被剔除; 参考配置:

upstream www.feidao.com{
        server 172.17.0.3:8080 ;
        server 172.17.0.4:9090 ;
}

weight权重 根据weight权重,请求会根据权重比例分发给不同后端服务器,weight权重越高,分配的比例越大; 实际分配,根据服务器硬件配置高低,来具体分配weight权重,硬件配置高的,weight就配置高点;

参考配置:

upstream www.feidao.com{
server 172.17.0.3:8080 weight=1;
server 172.17.0.4:9090 weight=2;
}

ip_hash ip_hash策略是根据用户客户端的IP的hash值来分配具体服务器,这样每个访问客户端都会固定访问某一个服务器,这样可以解决session丢失问题,很多网站都采用这种策略来搞负载均衡,主要考虑到session问题;

参考配置:

upstream www.feidao.com{
ip_hash;
server 172.17.0.3:8080 ;
server 172.17.0.4:9090 ;
}

least_conn最少连接 web请求会被分发到连接数最少的服务器上;

参考配置:

upstream www.feidao.com{
least_conn;
server 172.17.0.3:8080 ;
server 172.17.0.4:9090 ;
}

负载均衡备份与宕机


备份 backup配置; 其他非backup机器挂掉后,才会请求backup机器;

参考配置:

upstream www.feidao.com{
server 172.17.0.3:8080 ;
server 172.17.0.4:9090 backup ;
}

宕机 down配置; 配置down的服务器不参与负载均衡;这样down所标记的服务器可以安心的升级了;

参考配置:

upstream www.feidao.com{
server 172.17.0.3:8080 ;
server 172.17.0.4:9090 down ;
}

这两个配置很多时候用于运维,维护某个机器的时候用;



over......


关键字:     反向代理       Nginx  

备案号:湘ICP备19000029号

Copyright © 2018-2019 javaxl晓码阁 版权所有