分布式session的几种实现方式

Posted lihangfei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分布式session的几种实现方式相关的知识,希望对你有一定的参考价值。

1.基于数据库的session共享

2.基于NFS共享文件系统

3.基于memcached 的session,怎么保证session的高可用

4.基于resin/tomcat web容器本身的session复制机制

5.基于TT/Redis 或 jbosscache 进行 session 共享。

6.基于cookie 进行session共享

<1.>

Session Replication 方式管理 (即session复制)

        简介:将一台机器上的Session数据广播复制到集群中其余机器上

        使用场景:机器较少,网络流量较小

        优点:实现简单、配置较少、当网络中有机器宕掉时不影响用户访问

        缺点:广播式复制到其余机器有一定廷时,带来一定网络开销

 

二、Session Sticky 方式管理

        简介:即粘性Session、当用户访问集群中某台机器后,强制指定后续所有请求均落到此机器上

        使用场景:机器数适中、对稳定性要求不是非常苛刻

        优点:实现简单、配置方便、没有额外网络开销

        缺点:网络中有机器宕掉时、用户Session会丢失、容易造成单点故障

 

三、缓存集中式管理

       简介:将Session存入分布式缓存集群中的某台机器上,当用户访问不同节点时先从缓存中拿Session信息

       使用场景:集群中机器数多、网络环境复杂

       优点:可靠性好

       缺点:实现复杂、稳定性依赖于缓存的稳定性、Session信息放入缓存时要有合理的策略写入

二。Session和Cookie的区别和联系以及Session的实现原理

Session存入在服务器端,Cookie存在与浏览器端

Session存的是对象,Cookie存的是字符串

Cookie存的内容较小,由于Cookie存在与浏览器端所以造成数据的不安全性

:如果要是实现session共享建议使用Redis数据库来做一级缓存使用

<1>Redis数据库是非关系型数据库

<2>Redis数据库常用的存入的值是Key Value的形式等,还有其他形式,具体看·Redis的官方文档

<3>方便取值,方便存值,

以上是关于分布式session的几种实现方式的主要内容,如果未能解决你的问题,请参考以下文章

分布式session的几种实现方式

[转]分布式session的几种实现方式

session的实现方式

分布式锁的几种实现方式~

分布式锁的几种实现方式~

分布式锁的几种实现方式