目录
分布式部署时Session可能存在的问题
1)问题
2)解决办法
①:粘性Session
描述:设置负载均衡器,使每一个session都指向同一个服务器。
缺点:但是这样会导致负载不均衡。
②:同步Session
描述:当其中一个服务器创建Session的时候,会同步到其他的服务器中。
缺点:耦合差,浪费资源
③:共享Session
描述:单独创建一个服务器专门用来存放Session,每当其他服务器需要访问Session时,都可以通过访问Session服务器来获取数据。
缺点:其他服务器都依赖于Session服务器,如果Session服务器挂了,系统就崩溃了;如果创建Session服务器的集群,那还不如变成②。
④:数据库Session(主流做法)
描述:Session不存放在服务器中,存放在数据库中,所有的服务器都像数据库获取数据,且数据库的集群已经非常成熟。
缺点:慢,因为关系型数据库存放在硬盘中。
⑤:数据库Session(主流做法)- NoSQL
描述:因为存放在硬盘中做存取比较慢,那么我们可以用非关系型数据库存放Session数据,比如Redis。因为Redis把数据存放在内存中。