在Nginx做反向代理时,面对集群,如何保证Session的一致性。
第一种是以负载均衡服务器本身提供的session共享策略,每种服务期的配置是不一样的并且nginx本身是没有的。
第二种是利用web容器本身的session共享策略来配置共享。但是针对于tomcat这种方式存在很大的缺陷,主要因为是依靠广播方式来实现的session复制,会浪费很多带宽导致整个网络反映缓慢。官网也建议这种方式最好不要超过4台tomcat。
第三种是Tomcat集群+redis的Session共享配置方法.
第四种是通过IP路由策略。
1 Tomcat之间的Session共享方案:
在每个Tomcat /bin/server.xml中取消注释掉了的一行代码,
使用这样方法配置的集群会将Session同步到所在网段上的所有配置了集群属性的实例上,使用这样方法配置的集群会将Session同步到所在网段上的所有配置了集群属性的实例上
在项目的web.xml中添加如下标签:
Nginx反向代理两台服务器时,访问不同的服务器时,通过Tomcat中的Session共享保证不管访问哪个服务器,Session均一样。