一、nginx代理配置
## 定义一个集群,名称叫做load_balancer_testupstream load_balancer_test {#ip_hash是负载均衡策略#ip_hash;#集群下有两个服务server 192.168.1.233:8087;server 192.168.1.243:8087;}server {#监听8600端口listen 8600;server_name localhost;location / {root html;index index.html index.htm;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}## 访问地址匹配策略location ~* /LOAD_BALANCER/* {#当访问地址满足匹配策略时,代理到load_balancer_test集群proxy_pass http://load_balancer_test;# WebScoket Support相关配置,可以代理websocket链接proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";# Origin "",可以解决websocket链接失败的问题proxy_set_header Origin "";proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Host $http_host;proxy_set_header X-NginX-Proxy true;break;}}
二、ip_hash
ip_hash是根据用户请求过来的ip,然后映射成hash值,然后分配到一个特定的服务器里面;
使用ip_hash这种负载均衡以后,可以保证用户的每一次会话都只会发送到同一台特定的Tomcat里面,它的session不会跨到其他的tomcat里面去的;
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题