北京3d效果图制作公司/seo快速排名是什么
做了SpringCloud 网关之后,发现 session 的同步是一个比较大的问题,如果解决不好,则对每台服务器的 session 处理起来比较麻烦。
如果是你的话,你会想,那直接存在 redis 服务器不就可以了吗?或者每次请求都返回给前端一个 session,前端每次请求都带上 session 不就可以实现同步了吗?
其实这样想总是有对的地方,但也有不对的地方。因为事情都是具有两面性的,看自己项目适合哪种实现方法!
那我说下我的理解,个人认为有以下三种处理办法:
1、如果集群服务器数量比较少,可以用 session 备份,每台服务器的 session 发生改变时,其他服务器同时互相备份。
缺点:消耗服务器的带宽和开销、存储空间
2、将 session 统一放到 redis 服务器进行管理。
缺点:如果 redis 服务器出现问题,会影响应用程序,但是可以通过 redis 集群解决。
3、将 session 加密存到 cookie 中。
缺点:a)cookie 有长度限制也限制了 session 的长度、安全性低。
b)session 一般存储的都是用户信息,放到 cookie 中对外暴露不安全。
个人而言,还是会选择第二种处理方式,跟切合 SpringCloud 的思想,可以用 redis 服务器集群进行管理,来解决 session 读写延时和不稳定的问题。
我是进阶的球儿,大家一起2019年的爬坑历程。感觉分享很给力的话给个赞,谢谢!!!有问题也可以下方留言或者加本人QQ:313989006 进行沟通。