一:分布式环境下的session丢失问题
在使用nginx作为负载均衡和反向代理的情况下,有3中解决方案
1:nginx有多种负载均衡策略,分别是轮询,权重,ip_hash。 采用ip_hash作为负载均衡策略,这样使用同一个ip访问的请求,都会转发到同一台服务器。
优点:代码侵入性小
缺点:会导致每台机器的负载会出现较大的差异
2:tomcat的session共享和复制。其中一台tomcat的session发生变化后,其他的tomcat也会进行改变
优点:代码侵入性小
缺点:数据量大的情况下,会占用较大的网络io,已经占用服务器的内存。
3:session统一存储到缓存服务器redis中
优点:稳定,也不会占用服务器资源
缺点:代码侵入性大,要修改应用的代码。
二:分布式环境下的数据一致性