欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

淘淘商城第91讲——SSO系统分析

发布时间:2024/1/18 75 豆豆
生活随笔 收集整理的这篇文章主要介绍了 淘淘商城第91讲——SSO系统分析 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

什么是SSO系统?

SSO英文全称Single Sign On,即单点登录。SSO是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。

SSO是目前比较流行的企业业务整合的解决方案之一。

为什么要有单点登录系统?

首先,我们看看传统的登录实现方式,如下图所示。

这种登录方式在只有一个web工程的情况下是没有问题的,但是对于分布式系统来说,由于牵扯到多个系统,如果每访问一个系统都要输入一遍用户名、密码的话那将会非常麻烦,也是用户所不能忍受的,这时单点登录便派上用场了。

传统模式的工程当用户访问量大的时候就难以招架了,这时我们首先考虑到的是使用集群来增加网站的吞吐量,一个Tomcat服务器可以处理大约300个并发,多个Tomcat服务器就可以处理更多的并发了,如下图所示,表示的就是集群环境下的登录实现方式。

在这种集群环境下也会存在一个问题,那就是会要求用户多次登录。对于这个问题,解决方案一共有两种,咱们先来看第一种解决方案,即在搭建Tomcat服务器集群时,配置Session复制(或者Session共享),由于不同的Tomcat服务器之间要以广播的方式来进行Session共享,一旦Tomcat服务器的数量比较多时,广播便会占据绝大多数带宽,非常浪费资源,从而使真正的请求难以被处理,一般来说,集群中Tomcat服务器的个数最好不要超过5个。

再来看看第二种解决方案。我们可以使用Session服务器来保存Session信息,使集群中每个节点都是无状态的。一般来说,单点登录系统都会使用Redis来模拟Session,实现Session的统一管理,从而解决Session共享的问题,如此一来集群便可以几乎不受限制的进行扩展了。

与单纯的集群相比,我们把登录单独拿出来了,并使用Session服务器保存了Session信息,这样使得集群中每个节点都是无状态的。

集群和分布式的区别在于,集群是多台设备干同一件事情,而分布式是不同的设备干不同的事情。

总结

以上是生活随笔为你收集整理的淘淘商城第91讲——SSO系统分析的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。