session共享解决方案

做负载均衡和服务器集群时,往往会遇到session同步的问题,下面是搜罗的几种可行的解决方案,仅供参考。

下面是三种不同的解决方案,如果哪位大神有更好的方案,请分享给我,小弟感激不尽

        一、专门建一个数据库来存session或者单独建一个表:每次从数据库取session,但是如果做了mysql集群,每个节点都得配置这张表,当然,这个短板还好;这种方式更大的弊端是:本来数据库瓶颈就是一个让人很X疼问题,这样做还会增加数据库的压力。(往往最low的方法都最先出现)


        二、用cookie同步session:把session同步到cookie里面,每次请求的时候,先取服务器的session,如果没有,就从页面cookie里面取,取到了,就把session同步到服务器,如果cookie里面也没有取到值,就说明这个session真的不存在!这种方式发好处是不在操作数据库,不会给数据库造成压力,但是cookie是不安全的,这个应该猿以及比猿更高等的生物都知道,其次,客户端的cookie是可以禁用的,一旦被禁用,该方法也就GAME OVER。。。


        三、使用缓存技术:把所有的session都存入的缓存(本人用的redis)里面,这样就既不会增加数据库的压力,也不用担心cookie的安全和被禁用问题。(推荐)


注:本人也刚开始学习这一块的东西,目前就知道这么多,写blog的目的在于加深印象和做笔记,如有不足之处,还请大神们多多指教!

你可能感兴趣的:(java,session,负载均衡,session共享,session同步)