随着我们互联网技术的发展、用户量已经很大了、现在单台机器已经不能存储这么多人的会话。
那我们应该怎么办?
我们需要对系统进行一个垂直拆分,比如电商系统我们分为:会员中心、交易中心、商品中心等
那这个时候我们如何解决SSO问题了?如何解决分布式下会话机制Session
业界方案有这几种:
1、 Session Sticky
IP-Hash
192.168.0.100 1tomcat
192.168.0.1012tomcat
特点:如果某个tomcat宕机了、单点故障 整个机器都session数据都会丢失
2、 Sesssion Relication
Tomcat本身有这个插件可以解决这种、Session复制。
特点:增加了Session网络开销 每台tomcat都需要存储全局的session、内存
3、 Cookie based
特点:增加了我们客户端和服务端的通讯、增加了网络资源、扩展强、没有单点故障
不安全.
4、 Session集中存储
优点:session越多、tomcat容器越多的时候他的优势就更明显、没有单点故障的问题
扩展方便、适合集群数据量大使用。
需要接入redis、mysql集群维护、增加网络开销内网、序列化