首页
技术知识库
Task工作计划
网站简介
DON框架
后台管理
文章分类
JAVA
框架知识
操作系统
容器相关
数据库层
优化技术
界面编程
网络编程
开发工具
GO语言
其他
读书随笔
观影随笔
每日随笔
APP
session集群实现方式研究
所属分类
:[容器相关] |
创建时间
:2014-03-31 |
文章属性
:原创 |
文章来源
: |
作者
:windfly
<pre>2014-3-31 做集群时要考虑session的一致和同步,当前网络上较多实现方式有以下几种: 1.节点广播 tomcat 自带的集群实现就是节点广播,这种方式的优点就是配置方便,不用改动代码,扩展节点方便。缺点是节点较多时,一般4个节点时其同步效率就会降低,这是由 于广播占用了大量的资源。 2.数据库存储 jetty 自带集群实现就是通过数据库存储会话信息。这种方式的优点是配置方便,扩展容易。缺点是由于通过数据库则会容易受到数据库的瓶颈限制。而且所存储的数据必 须是可序列化的。可以使用单独数据库,使用mysql内存表或mongdb数据库来实现以提高效率。 3.分布式缓存 在项目中使用可分布式缓存,如ehcache,在使用集群后,配置ehcache建立分布式可同步session信息。优点是不用改动代码,容易扩展。优点是ehca che同步可能会有延时而导致信息不能实时一致。而且由于是分布式的。其缓存是同步复制也导致了空间内存的浪费。 4.集中式外部缓存 使用第三方的缓存如memcache,redis等。优点是存储效率较高,可扩展性好。缺点是要改动代码,且对象必须可序列化。 5.Terracotta框架 把这个框架单独拿出来说是因为这个框架对于SE项目来说做集群是最好的方案。优点是:不用改动代码,性能效率较高,扩展性好。缺点是:这个框架在3.7版本以后就开始 收费了。开源版本支持的容器有限,对jetty最高只支持到7.0</pre>
返回