Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.7k views
in Technique[技术] by (71.8m points)

单点登录设计求助

目前是打算全新从0开发一套系统,一个SSO认证中心、多套子系统。SSO一般是单独一个库吗?如果是单独一个库、子系统也是各自独立的库,那用户表是否每个子系统都有?没有的话子系统如果需要关联用户表查询怎么办?目前是考虑如果每个子系统都有用户表,是考虑登录成功跳转回子系统的时候插入或更新子系统的用户表,子系统用户表只存数据用于查询关联


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

1、SSO独立库
2、SSO提供rpc接口,为需要关联查询的子系统提供查询接口,系统和系统之间解耦,肯定不能sql关联
3、如果有些系统需要大量的用户查询,比如评论中的用户头像和用户名可以考虑再子系统中缓存用户信息,定时更新缓存数据,也可以再系统中建立用户表,通过事件系统进行订阅更新
4、不建议再仔细中建立用户表,子系统很多,总不至于到处都是用户表,不利于维护
5、不是所有关联查询都需要sql关联查询,可以先查出子系统的数据,然后再通过rpc去查询用户数据再拼接,做好缓存,性能上不会有问题,而且用户量上去的也不建议关联查询,很容易造成查询缓慢,系统性能下降,也不利于缓存系统的设计,系统之间做到解耦,好维护,这也是微服务好处
6、可以去看看“微服务架构之事件驱动架构”,对于你这个系统应该有帮助


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...