`
阅读更多
Session Cache Server 及Tomcat集群架构概念
或见本人CSDN博客

http://blog.csdn.net/myloon/archive/2010/09/06/5866456.aspx

1.         Sessin Cache Server (Session 缓存服务器)[SCS]

特性:

1)          单个SCS:SCS中缓存Session数据,多个应用服务器共享SCS中Session;每次有新的Session或新的Session数据更新时,除了正常的缓存外,还缓存有变化的Session ID和数据Key,以通知或被其他SCS感知同步数据;通过LRU算法,对不常使用的Session进行持久化(文件,数据库等)。



分析:

解决了多个AppServer之间的Session共享,Session数据可集中储存在SCS上。

随着Application Server的增加,SCS的压力不断上升,其中存储的Session数量会变得巨大,内存不够用。

适合访问量不是巨大的Web站点。



2)         配置多个SCS: SCS之间只同步新增和变化数据,所有SCS中Session数据都一样;SCS之间是平等的,其中一个SCS有数据同步时,通知所有SCS同步数据。



         分析:只是单台SCS的物理扩展。随着用户增加,Application Server也随之增加,虽然可以通过增加SCS减低压力,但其中存储的Session数量会变得巨大,内存不够用,并且需要同步的数据变得巨大,影响网络传输,所有的SCS维护同一Session副本有点浪费,此种情况类似JavaEE服务器Session复制的弊端。



3)         SCS组:有一个或多个SCS形成SCS组,组内可根据需求扩展任意数量(N)的SCS;组内SCS分片存储Session,组内SCS彼此独立,组内每一个SCS维护不同的Session,提高性能和内存利用率;SCS组以主备(或多机镜像)模式,提供Failover,做到HA;Session客户端配置组内所有SCS,通过算法分别存储Session在不同的服务器上,提高性能,避免浪费维护Session;SCS组主备(或多个镜像)之间Session数据同步(只同步新增和变化数据);结合AppServer和负载均衡器实现集群,可提高集群性能。

l  SCS组基于数据分片的思想提高集群性能,SCS组通过镜像做到高可用性和提高集群性能。

l  分片储存可以是分机保存Session,也可是保存对象数据。

l  对于同一Session和同一Key其对应SCS Num是稳定的。

l  分片储存算法:

(参考MemCached的分布式算法http://zhengdl126.javaeye.com/blog/420521)

u  A求余分散(或者求余Hash):
此算法讲Key的hash值除以SCS组的SCS数量所得到的余数,而决定讲Cache的数据存储到哪一个SCS上,仍然以刚才key=1,value=user1和key=2,value=user2两个数据为例:
对于key=1, hash值%SCS数量=(1%2)=1,存储到SCS 2上;
对于key=2, hash值%SCS数量=(2%2)=0,存储到SCS 1上。
显然通过这种方式,Cache的数据就会分布在不同的SCS上了

u  Consistent Hashing

SCS组:



分享到:
评论

相关推荐

    Apache-Tomcat-8.5.5(Linux )

    Tomcat默认cache尺寸是10M。新版本中,当evict以后仍没有空间存放新的数据时,则打印WARN信息。当然,不影响应用。 解决方法见:...

    redis-data-cache.properties

    redis实现tomcat的session共享所需redis-data-cache.properties

    如何清除tomcat缓存

    <meta http-equiv="Cache-Control" content="no-cache"> ``` 2. **强制刷新**:在浏览器中使用强制刷新命令(通常是Ctrl+F5)来清空缓存并加载最新的资源。 #### 小结 通过上述方法,我们可以有效地解决Tomcat...

    tomcat8.5实现redis集成session所需jar包.zip

    在Java Web开发中,Tomcat是一个广泛使用的应用服务器,它负责运行Servlet和JSP应用程序。在高并发或者分布式环境中,单个服务器的session管理可能无法满足需求,这时我们需要使用session共享来解决这个问题。本资源...

    启动tomcat报错org.hibernate.cache.CacheProvider

    标题中的“启动tomcat报错org.hibernate.cache.CacheProvider”指的是在尝试启动Apache Tomcat服务器时遇到了与Hibernate缓存提供者相关的错误。这通常涉及到Hibernate框架的配置或运行时环境问题。Hibernate是一个...

    Tomcat6/Tomcat7/httpwatch

    - 可以查看每个HTTP请求的头信息,包括Cookie、Cache-Control、Content-Type等,以及响应状态码和大小。 3. **性能统计** - 提供页面加载时间、重定向时间、下载字节数等统计信息,帮助定位问题。 4. **资源缓存...

    linux下nginx+tomcat负载均衡配置

    在Linux环境下,构建一个高效的Web服务架构通常会结合Nginx和Tomcat,利用Nginx的反向代理和负载均衡能力,以及Tomcat对于Java应用的出色支持。本配置指南将详细介绍如何在Linux系统中设置Nginx与Tomcat的负载均衡...

    IIS整合多个tomcat

    2. 使用缓存技术:如使用IIS的Output Cache或Tomcat的Cache Valve,减少重复计算和数据库查询。 3. 监控和日志:定期检查系统性能,通过日志分析找出瓶颈,进行针对性优化。 总之,IIS整合多个Tomcat是一项复杂但...

    session 共享 tomcat-redis-session-manager 所需要的jar (绝对可用)

    在IT行业中,尤其是在分布式系统和Web服务的领域,Session共享是一个关键问题。...在实际部署时,只需正确配置"redis-data-cache.properties",并将这些jar文件添加到Tomcat的类路径中,即可启用Redis作为Session存储。

    tomcat集群session共享jar tomcat7专用jar

    <Resource name="JndiRedis" auth="Container" type="javax.cache.CacheManager" factory="org.redisson.jcache.JCacheManagerFactory" config="classpath:redisson/redisson.yaml"/> ``` 在项目类路径下创建`...

    tomcat-cluster-redis-session-manager.zip

    2、配置解压之后的redis-data-cache.properties(根据你的redis配置吧),配置完将这个文件放入tomcat/conf文件夹中;3、配置tomcat/cong/context.xml,增加如下两行: <Value className="tomcat.request.session....

    Session Cache Server 及Tomcat集群架构概念

    根据提供的文件信息,我们可以详细探讨Session Cache Server(SCS)以及Tomcat集群架构的相关知识点。 首先,Session Cache Server 是用来集中管理和缓存应用服务器中的Session数据的一种服务器。它通过集群的方式...

    Tomcat常见文件以及部署等

    Tomcat并没有内置的全局缓存,但如果你使用了某些缓存机制如 EhCache 或者 Spring 的 Cache Abstraction,可以在相应配置中查看缓存内容。对于特定应用的缓存,需要参照具体应用的文档来查找和查看。 7. **Tomcat...

    apache2.2 + tomcat6 配置方式

    - Caching:使用缓存模块如mod_expires和mod_cache,提高静态内容的响应速度。 - JNDI资源:在Tomcat中配置JNDI资源,使Apache和Tomcat共享数据库连接等资源。 通过以上步骤,Apache2.2和Tomcat6可以协同工作,...

    tomcat7+session共享(mencache)

    标题中的“tomcat7+session共享(mencache)”指的是在Tomcat 7版本中实现基于Memcached的Session共享。在分布式系统中,由于用户在不同服务器之间切换时需要保持会话状态,所以Session共享成为了一个重要的问题。...

    第3周 3WEB技术-tomcat 会话同步.html

    (3) session server:redis(store), memcached(cache) 共享存储 分析:新建立一个存放各个tomcat session记录的server,每台tomcat服务器都将自己的session记录在这个服务器中,用户再次访问,每台tomcat 都从这个...

    nginx TOMCAT 文件下载 上传 进度条 缓存

    标题 "nginx TOMCAT 文件下载 上传 进度条 缓存" 涉及到的是在Web服务器场景中,如何利用Nginx和Tomcat处理文件的下载、上传以及实现进度条显示和缓存优化的技术点。下面将详细介绍这些内容。 1. **Nginx与Tomcat的...

    tomcat暴破图形化---绕过tomcat 6/7/8的防暴破机制

    tomcat 6/7/8 自带防暴力破解机制,通过塞满cache,挤出已锁定账号,实现完美绕过。

Global site tag (gtag.js) - Google Analytics