采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,通过Threadlocal存储user信息,不就把网关/应用层变成有状态的了吗?如果对网关作集群的话,那用户刷新,去到别的网关,就取不到用户ID了,这不就出问题了吗?
突然又想到一个问题:如果在网关之前添加一个拦截器或者过滤器,将用户信息放到这个网关对应的拦截器中,就算网关做了集群,每次也能将用户信息存到对应的过滤器/拦截器中,那么就算集群转发到不同的网关,也能获取到用户信息,请问这会带来什么问题呢?
这个好像之前有童鞋问过, 其实咱们这一次是每个网关收到request请求以后,都会重新查询用户信息, 所以不存在有状态这一说。
如果想弄好一点, 可以考虑加入Redis, 然后所有节点共享一个Redis数据
非常感谢!
还有一个小疑问,老师说的每次请求都会查询用户信息,是指AuthFilter每次都会拦截吧,但是/user这个就不会去获取用户信息,假如是,在gateway1登陆,在gateway2使用/user/userInfo查询用户信息,这就会查不到了吧 如果这个表述不够清晰,我就开另一个问题附上图片说明一下,谢谢老师啦。
哦,这个问题解决了,因为我看到最终配置文件的忽略列表没有/user/getInfo了
登录后可查看更多问答,登录/注册
实战Dubbo项目+面试技巧,老司机带你畅游微服务
2.1k 15
1.7k 11
1.9k 9
1.7k 9
4.0k 9
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号