一、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的問題