lyl801013 发表于 2018-11-8 08:20:55

nginx的会话保持

  目前关于nginx做proxy的会话保持功能实现有2种方法:
  一、ip_hash
  可以实现回话保持,但是需要加max_fails=0;防止当机后服务不能跳转的问题。
  upstream cluster {
  ip_hash;
  server xxx.xxx.xxx.xxx:80 max_fails=0;
  }
  经过实地测试,发现max_fails=0,不用添加。这个设置的意思是关闭了nginx的健康检查。在不关闭的情况下,也就是默认取1时,某节点宕机,服务自动跳转到其他节点,完全没有影响。
  二、第三方模块 nginx_upstream_jvm_route
  1.For resin
  upstream backend {
  server 192.168.0.100 srun_id=a;
  server 192.168.0.101 srun_id=b;
  server 192.168.0.102 srun_id=c;
  server 192.168.0.103 srun_id=d;
  jvm_route $cookie_JSESSIONID|sessionid;
  }
  2.For tomcat
  upstream backend {
  server 192.168.0.100 srun_id=a;
  server 192.168.0.101 srun_id=b;
  server 192.168.0.102 srun_id=c;
  server 192.168.0.103 srun_id=d;
  jvm_route $cookie_JSESSIONID|sessionid reverse;
  }
  第二种方法从网上搜索文档很多。

页: [1]
查看完整版本: nginx的会话保持