配置多台Tomcat

修改端口8005(8005,8006,8007)

Nginx实现负载均衡 - 图1

修改端口8080(8091,8092,8093)

Nginx实现负载均衡 - 图2

修改端口8009(8009,8010,8011)

Nginx实现负载均衡 - 图3

项目依次打包,测试

打war包

Nginx实现负载均衡 - 图4

将war包放入到每个Tomcat的webapps文件夹下,并删除其下ROOT文件夹,将war包重命名为ROOT

Nginx实现负载均衡 - 图5

运行Tomcat测试

Nginx 轮询策略

将请求轮流发送到服务器

Nginx实现负载均衡 - 图6

Nginx 权重策略
  1. 可以根据服务器处理能力的不同,为高性能的处理器.多分配请求.通过数字代表权重的大小

Nginx实现负载均衡 - 图7

Nginx IP-Hash策略
  1. 问题:因为配置负载均衡策略后,有多台tomcat共同为用户提供服务,如何实现用户的数据共享呢???

因为tomcat之间不能共享Session .
策略A:COOKIE+拦截器(常用策略)
策略B:Nginx IP-Hash策略
介绍:根据用户访问的IP地址+算法最终确定唯一一台tomcat服务器!!!
Nginx实现负载均衡 - 图8

  1. 缺点:

    1. 使用IPHash容易造成负载不均现象(数据倾斜)
    2. 使用IPHash时,如果服务器宕机,则直接影响用户的使用

      Nginx 服务优化策略

      down属性
      说明:如果某台服务器宕机,则可以通过down属性,标识该服务器已经宕机.则nginx不会再将请求发往故障机!
      backup属性
      说明:正常情况下,请求不会发往backup标识的备用机.但是当主机全部遇忙或者宕机时,备用机生效!
      Nginx实现负载均衡 - 图9
      配置超时策略
      设定超时时间.当用户在指定的时间内,不能正确的访问服务器.,则会自动的跳转到下一台.
      Nginx实现负载均衡 - 图10

      Nginx 健康检测

  2. 说明:通过nginx健康检测,在一定的时间范围内(周期),如果这台服务器不能正常访问.则在该周期内,不会再将请求发往该机器.一直到下一个周期.

server localhost:8090 max_fails=1 fail_timeout=60s;
max_fails:最大的失败次数.
fail_timeout=60s; 60秒内不允许访问该服务器
Nginx实现负载均衡 - 图11