登录业务介绍
1、单一服务器模式
1.1、单一服务器模式简介
早期单一服务器,用户认证。
早期使用单一服务器模式,即用户登录和增删改查数据等业务全部放到一台服务器上处理。
缺点:单点性能压力,无法扩展
1.2、单一服务器模式 登录
2、SSO(single sign on)模式,即单点登录
2.1、单点登录简介
分布式,SSO(single sign on)模式
单点登录:比如用户在网站上登录百度网盘账号,再浏览百度贴吧,百度文库时就不需要再登录了,这就是单点登录。
优点 :
用户身份信息独立管理,更好的分布式管理。
可以自己扩展安全策略
缺点:
认证服务器访问压力较大。
2.2、单点登录案例介绍
比如在下边的在线教育项目中,就是通过单点登录实现的。系统不同的业务放到了不同的服务器上,登录业务放到了192.168.1.1服务器上,课程浏览业务放到了192.168.1.2服务器上,订单支付放到了192.168.1.3服务器上。用户通过192.168.1.1服务器登录系统后在操作其他功能,不可能再让用户登录,这样的系统对用户不友好,这时就可以使用单点登录避免该不友好情况出现。
3、单点登录的三种实现方式
3.1、session广播机制实现
即通过session复制,将用户在进行登录的服务器上的信息通过session复制,复制到奇特业务服务器上,就可避免用户重复登录。
3.2、使用cookie+redis实现
3.3、使用token实现
token是什么?
3.4、Token模式业务流程图
优点:
无状态: token无状态,session有状态的
基于标准化: 你的API可以采用标准化的 JSON Web Token (JWT)
缺点:
占用带宽
无法在服务器端销毁
注:基于微服务开发,选择token的形式相对较多,因此我使用token作为用户认证的标准