session共享问题
当同一个集群中的 两个相同服务 seesion存在不能共享的问题
1 解决方法 集群环境下 可以使用session复制 当用户a访问第一个节点 登陆成功后会存储到session中去 然后将session同步到其他节点
优点 :在tomcat支持 只需要修改配置文件即可
缺点 不支持水平扩展 当集群越来越多 同步时网络带宽增加 随着用户越来越多 该服务存储相同的session信息 数据冗余较大 所以不推荐
2 hash一致性 只需要修改nginx配置不需要修改代码 保证每一个用户经过nginx后都会进入相同的服务
优点 负载均衡 只要hash属性的值是分布均匀的 多态服务时负载均衡的
支持水平扩展
缺点 session还是存放在服务端 重启服务会导致session丢失
3 统一存储 将集群下相同服务的session存储在第三方存储中 例如redission
优点 没有安全隐患
可以水平扩展
服务重启或者扩容都不会影响session的丢失
当不同服务调用登陆状态时 也会存在session跨服务 而造成不能共享的问题

---------------------------------------------------------------------------------------------

在相同一级域名下 的不同二级域名之间的session共享(在同一个项目中的一级域名相同 )
msb.mall.com com 顶级域名 mall/search 一级域名 msb 二级域名
msb.search.com
因此我们需要修改一级域名 同一一级域名 才能实现不同服务之间的session共享



yml配置

同样 我么也需要在另一个需要获取到session中数据的服务中添加依赖
注意这样需要手动修改域名

浙公网安备 33010602011771号