tomcat 集群用什么缓存更好,oscache或memcache

问题描述

tomcat 集群用什么缓存更好,oscache或memcache,请给出理由。我在网上查到 多个tomcat 可以共用一个memcache,意思是只需要缓存一组数据即可

解决方案

你说的OSCache是进程级缓存,说白了就是利用JVM本身的内存来保存一些对象.Memcache是利用别的机器的缓存,利用网络来沟通.个人建议是看你的应用了.OScache本身提供了广播和JMS等方式来进行缓存失效通知,这种方式的问题就是....A和B两个Tomcat,A机里的一个KEY被更新了,通知了B,B把这个KEY失效了...结果就是B不能享用到A已经做过的事...还要再从数据库或者其他地方重新读取数据放到缓存.如果这个操作很费资源那就不合算了.Memcache可以避免这个问题,但同时也产生另外的问题.由于memcache是由网络来沟通的,所以存在着序例化和反序例化还有网络IO等操作的时间.所以读取单个KEY时会比从OScache里拿要慢一些.
解决方案二:
Ehcache
解决方案三:
memcache的特点是支持分布式、高性能
解决方案四:
memcache可用于单个应用的数据缓存,也可以用于多个应用集群的数据缓存,我们现在做的这个项目就用的memcache做缓存服务器,成产环境是6个was集群。memcache实际上是开放了一个ip和端口的服务,只要知道ip地址和端口,都可以通过set key和get key的方式操作缓存。

时间: 2024-07-31 11:02:17

tomcat 集群用什么缓存更好,oscache或memcache的相关文章

从单机到集群会话的管理之集群模式二(更大的集群)

<从单机到集群会话的管理之集群模式一>中讲到的全节点复制的网络流量随节点数量增加呈平方趋势增长,也正是因为这个因素导致无法构建较大规模的集群,为了使集群节点能更加大,首要解决的就是数据复制时流量增长的问题,下面将介绍另外一种会话管理方式,每个会话只会有一个备份,它使会话备份的网络流量随节点数量的增加呈线性趋势增长,大大减少了网络流量和逻辑操作,可构建较大的集群. 下面看看这种方式具体的工作机制,集群一般是通过负载均衡对外提供整体服务,所有节点被隐藏在后端组成一个整体.前面各种模式的实现都无需负

tomcat集群机制剖析及其生产部署选型

为什么要使用集群? 为什么要使用集群?主要有两方面原因:一是对于一些核心系统要求长期不能中断服务,为了提供高可用性我们需要由多台机器组成的集群:另外一方面,随着访问量越来越大且业务逻辑越来越复杂,单台机器的处理能力已经不足以处理如此多且复杂的逻辑,于是需要增加若干台机器使整个服务处理能力得到提升. 集群难点在哪? 如果说一个web应用不涉及会话的话,那么做集群是相当简单的,因为节点都是无状态的,集群内各个节点无需互相通信,只需要将各个请求均匀分配到集群节点即可.但基本所有web应用都会使用会话机

tomcat集群实现源码级别剖析

随着互联网快速发展,各种各样供外部访问的系统越来越多且访问量越来越大,以前Web容器可以包揽接收-逻辑处理-响应整个请求生命周期的工作,现在为了构建让更多用户访问更强大的系统,人们通过不断地业务解耦.架构解耦将web容器的逻辑处理抽离交由其他中间件处理,例如缓存中间件.消息队列中间件.数据存储中间件等等.Web容器负责的工作可能越来越少,但是它确实必不可少的部分,它负责接收用户请求并分别调用各个服务最后响应.可以说目前最受欢迎的web容器是用Java写的tomcat小猫,由于生产上的tomcat

Tomcat集群如何同步会话

Tocmat集群中最重要的交换信息就是会话消息,对某个tomcat实例某会话做的更改要同步到集群其他tomcat实例的该会话对象,这样才能保证集群所有实例的会话数据一致.在tribes组件的基础上完成这些工作就相当容易些,tribes是tomcat实现的一个通信框架. 如下图,tomcat实现会话同步的过程中大致会使用如下组件,现在假设中间的tomcat实例的会话改变了,它会通过会话管理器Manager将改变的动作消息封装成消息然后调用集群对象Cluster,通过Cluster将消息发送出去,同

Tomcat集群的三种负载均衡方式优缺点对照。

1.使用DNS轮询.2.使用Apache R-proxy方式.3.使用Apache mod_jk方式. DNS轮询的缺点是,当集群中某台服务器停止之后,用户由于dns缓存的缘故,便无法访问服务,必须等到dns解析更新,或者这台服务器重新启动.还有就是必须把集群中的所有服务端口暴露给外界,没有用apache做前置代理的方式安全,并且占用大量公网IP地址,而且tomcat还要负责处理静态网页资源,影响效率.优点是集群配置最简单,dns设置也非常简单. R-proxy的缺点是,当其中一台tomcat停

Tomcat集群Cluster实现原理剖析

在上一篇文章中简要介绍了如何通过简单的配置来实现tomcat集群,本文意在介绍对tomcat集群进行更深入详细的配置以满足特定需求.        对于WEB应用集群的技术实现而言,最大的难点就是如何能在集群中的多个节点之间保持数据的一致性,会话(Session)信息是这些数据中最重要的一块.     要实现这一点,大体上有两种方式,           一种是把所有Session数据放到一台服务器上或者数据库中,集群中的所有节点通过访问这台Session服务器来获取数据:          

nginx反向代理-nginx+tomcat集群下的压力测试

问题描述 nginx+tomcat集群下的压力测试 我现在在单机下尝试模拟nginx+tomcat集群的配置,开了3台虚拟机,1台作nginx服务器另外两台作tomcat服务器. tomcat下的也设置了maxThreads和timeOut的值. nginx配的是将所有请求全部转发给后端的两台tomcat. 最后再装了nginx的虚拟机上用ab进行压力测试,在 -n 10000 -c 1500的时候 去测试192.168.171.134:18082没有问题,而测用127.0.0.1测nginx的

tomcat集群后,我的分页点下一页没有显示下页数据

问题描述 说明:我用了tomcat集群后,我的分页数据是放在session中的,但是集群后我点击下一页没有反应,我在本地测试用一个tomcat的情况下,点击下一页是会读取出来下一页的数据的,但是服务器集群后点击下一页没有反应,求大哥们帮忙说说这个问题,求解决方案 解决方案 你打下日志,看问题出再哪啊!(分页数据还放session 个人感觉有问题哈!集群可以用使用公用缓存,分布式缓存之类的解决)解决方案二:sesstion没同步吧?解决方案三:session是缓存起来的,你集群是不是没有缓存同步

通向架构师的道路 第五天 tomcat集群-群猫乱舞

一.为何要集群 单台App Server再强劲,也有其瓶劲,先来看一下下面这个真实的场景. 当时这个工程是这样的,tomcat 这一段被称为web zone,里面用spring+ws,还装了一个jboss的规则引擎Guvnor5.x,全部是ws没有service layer也没有dao layer. 然后App Zone这边是weblogic,传输用的是spring rmi,然后App Zone这块全部是service layer, dao layer和 数据库打交道. 用户这边用的是.net,