User对象的获取

User对象的获取

问题描述:

通过其他两种方式可行吗?

  1. 引入zuul的jar包,直接使用zuul中的UserFilter类,将其中的User设置成全局静态变量

  2. 为了解决session不一致问题,session被存在了redis缓存中,这里的redis缓存是重新拉了一台服务器,然后注册到Eureka上吗,这样各个服务器都可以访问到这个session信息,不可以直接用代码从redis中获取session中的User吗?

    注:讲到第一个方式,突然想到一个问题,zuul中直接引用了user的jar包,可以直接使用session.getAttribute(Constant.MALL_USER);的方式获取到session的value,讲道理zuul本身也是一个服务器,也是存在session不一致问题,是不是因为zuul本身又是所有服务器的上一级,这个地方session.getAttribute(Constant.MALL_USER)的时候,是如何实现获取到user服务器上的sessionValue的呢?是通过访问user服务器,还是直接在zuul本地进行了备份?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小尤 2021-06-24 17:29:03

同学你好,1、zuul是单独的模块,如果只是引入user的jar,也只是可以zuul中进行使用,无法保证每个模块都可以获取到。

2、是可以直接通过代码获取到redis中数据的,但如果修改为redis需要修改大量代码,并会有增加一个服务器增加成本与效率,所以并不建议同学使用该方式。

3、想要获取usre服务器上的数据,则可以通过访问user服务器进实现。如:设置一个开放的接口,想要获取数据,可以调用该接口进行实现。

祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师