我的DAL是用Hibernate实现的,我想使用EHCache作为具有分布式功能(用于可扩展性和HA)的二级缓存。鉴于EHCache仅通过Terracotta提供分布式缓存,我的问题是Terracotta服务器实例的作用是什么?它也保存数据吗?它只是协调分区缓存部分之间的分配吗?我的困惑主要来自this关于TSA的解释,它说服务器保存数据,但我认为在我的场景中缓存和Terracotta服务器可能有点合并。我说的对吗?如果服务器确实保存数据,那么为什么瓶颈不应该从数据库转移到Terracotta服务器?更新:Affe的回答回答了我问题的第二部分,这是重要的部分,但以防万一有人来寻找第一部
可以在Java中使用的最好的开源分布式缓存是什么?我以为是EHCache,但显然只有在使用商业产品TerracottaServerArray时才能在多个节点上进行扩展。我的目标是为有一定延迟的实时流数据构建缓存,我实际估计的数据大小在8gb量级,而生产速度要慢得多,在3mb量级每秒。因为有一个初始延迟,我希望我的缓存也被复制,因为当从0开始时我的缓存需要一个预热期,我非常想避免这一点。 最佳答案 Memcached值得研究。 关于java-用于Java的开源分布式缓存,我们在StackO
我正在评估Terracotta以帮助我扩展当前受RAM限制的应用程序。它是一个协作过滤器,每个用户存储大约2KB的数据。我想使用Amazon的EC2,这意味着我只能使用14GB的RAM,这为我提供了大约700万用户的有效每服务器上限。我需要能够超越这一范围。根据我目前的阅读,我了解到Terracotta的集群堆可以大于每台服务器上的可用RAM。如果每台服务器仅支持14GB,那么拥有30GB或更大的有效集群堆是否可行?每个用户的数据(其中大部分是float数组)变化非常频繁,可能每分钟数十万次。这些更改中的每一个都没有必要在它们发生时同步到集群中的其他节点。是否可以只定期同步一些对象字段
想听听人们关于Java集群(即实现HA解决方案)的经验。又名。terracotta、JGroups等。它不一定是网络应用程序。拥有编写自定义独立服务器的经验也很棒。更新:我会更具体一些->对Web应用程序集群不那么感兴趣(除非它可以被拉出并独立运行)。我知道它有效。但我们需要的不仅仅是session集群。从编程的简易性、支持的拓扑结构(即单个数据中心与WAN上的数据中心)、支持的节点数量方面检查解决方案。面临的问题,解决方法。目前我正在Terracotta和JGroups上做一些POC(概念验证)工作,看看它是否值得为我们的应用程序(它是独立的,在Web容器之外)付出努力。
我知道这对terracotta家伙不公平,但是有没有人尝试使用Hazelcast以便在集群环境中使用预定作业?我能想到的最简单的实现是以下架构:用于确保只有一台服务器启动Quartz配置的全局Hazelcast锁。将实际任务作为DistributedTask运行。(这可以稍后完成,目前繁重的计划任务需要负责触发DistributedTask)持有锁的服务器一旦关闭,另一台服务器就会获得锁。我相信这对于已经拥有Hazelcast的人来说是一个很大的优势,因为他们不需要一直打开terracotta东西来处理整个开发环境的麻烦。目前我编写了最简单的解决方案,即只让一个节点负责执行Quartz
我试图找到如何为应用程序实现分布式缓存。Ehcache已经在我的项目中用于缓存,这就是为什么我搜索如何使用它来解决这个问题。但是,不幸的是,这似乎需要TerracottaEnterpriseSuite,而且它是商业的。不是吗?是否有另一种解决方案如何使用Ehcache进行分布式缓存(RMI或其他)? 最佳答案 您不需要terracotta企业套件来集群您的Ehcache实例。因此,您现在可以使用带有Ehcache和Terracotta的集群,以及纯OSS:http://www.ehcache.org/documentation/co
我们目前正在编写一个应用程序,IT部门已经为其购买了硬件。他们的方法是购买我们将在其上部署的大型硬件。为了增加处理能力,他们计划增加具有相同软件的额外服务器。为了适应这种设计,我们使用Terracotta来提供运行多个JVM的能力,就像它是一个大的JVM一样。不管这是否是一个明智的做法(我仍然不相信),这就是我正在处理的情况。无论如何,我们有一部分应用程序使用标准的生产者/消费者类型队列。使用Terracotta,我们能够创建与多个JVM一起工作的单个队列。这非常巧妙,而且效果很好。但是现在,我们正在寻找运行异步进程的更多机会。为了使我们所有的排队逻辑更加一致,我们正在考虑使用JMS来
是Terracotta分布式缓存? 最佳答案 虽然您没有具体说明您在谈论哪个产品,但我假设您指的是开源平台本身。简短的回答是否定的,但它可以用来写一个分布式缓存,并且已经在他们自己的产品之一(Ehcache)中。你可以看到关于核心引擎的概述here(似乎他们现在将其开源平台上的信息隐藏在注册墙后面)。它是一个不使用J2EE技术的集群引擎,其主要目的是简化分布式计算开发。除了缓存之外,明显的用例还涉及高可用性和可扩展性需求。可以将其视为使相对简单的Java代码能够“在云中”运行,而不必担心可能涉及的许多细节。
有没有人有使用Terracotta的开源产品而不是他们的企业产品的经验?具体来说,我感兴趣的是在没有企业工具的情况下使用terracotta来管理集群是否值得?过度简化的使用摘要:我们是一家预算有限的小型初创公司,需要处理数百万条记录并扩展到每天数十万的页面浏览量。 最佳答案 我正在将Terracotta与我的项目(传感器节点网络模拟器)集成。大约三周前,我从我的一位同事那里了解到了Terracotta。现在我的应用程序利用了使用Terracotta的网格计算。下面我总结了我使用Terracotta的一些要点。Terracotta站
假设我有一个N大小的服务器阵列设置如下:alttexthttp://www.terracotta.org/web/download/attachments/43909161/ServerArrayMirrorGroup.png我有一个简单的JavaBean/POJO:packageexample;publicclassPerson{privateOtherObjectobj;publicvoidsetObj(OtherObjecttheObj){synchronized(this){obj=theObj;}}publicOtherObjectgetObj(){synchronized(