- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在评估 Terracotta 以帮助我扩展当前受 RAM 限制的应用程序。它是一个协作过滤器,每个用户存储大约 2 KB 的数据。我想使用 Amazon 的 EC2,这意味着我只能使用 14GB 的 RAM,这为我提供了大约 700 万用户的有效每服务器上限。我需要能够超越这一范围。
根据我目前的阅读,我了解到 Terracotta 的集群堆可以大于每台服务器上的可用 RAM。如果每台服务器仅支持 14GB,那么拥有 30GB 或更大的有效集群堆是否可行?
每个用户的数据(其中大部分是 float 数组)变化非常频繁,可能每分钟数十万次。这些更改中的每一个都没有必要在它们发生时同步到集群中的其他节点。是否可以只定期同步一些对象字段?
最佳答案
对此我的回答是肯定的。 Terracotta 确实允许您使用大于单个 JVM 大小的集群堆,尽管这不是最常见的用例。
您仍然需要牢记 a) 工作集大小和 b) 数据流量。对于 a),有一些数据集必须在内存中才能在任何给定时间执行工作,如果该工作集大小 > 堆大小,性能显然会受到影响。对于b),在集群堆中添加/更新的每条数据都必须发送到服务器。当您更改 pojo 图中的细粒度字段时,Terracotta 是最好的。使用大型阵列并没有充分利用 Terracotta 的功能(这并不是说人们有时不那样使用它)。
如果您正在制造大量垃圾,那么 Terracotta 内存管理器和分布式垃圾收集器必须能够跟上这些垃圾。如果不尝试,很难说您的数据量是否超过了那里的可用带宽。
如果您运行多个服务器并且数据按服务器分区或具有一定数量的引用位置,您的应用程序将受益匪浅。在那种情况下,你只需要一个服务器分区的数据在堆中,其余的不需要故障到内存中。如果其他服务器出现故障,如果有必要进行故障转移/可用性,它当然会出现故障。这意味着在分区数据的情况下,您不会向所有节点广播,只会向服务器发送事务。
从数字的角度来看,可以索引 30GB 的数据,因此这离任何硬性限制都不近。
关于java - 我可以使用 Terracotta 来扩展 RAM 密集型应用程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/117455/
有什么方法可以查询 Terracotta 实例存储的对象吗? 我正在寻找类似 SQL 的查询或任何基于字段过滤对象的方法。 最佳答案 至少企业版有自己的搜索API: http://www.terrac
是Terracotta分布式缓存? 最佳答案 虽然您没有具体说明您在谈论哪个产品,但我假设您指的是开源平台本身。简短的回答是否定的,但它可以用来写一个分布式缓存,并且已经在他们自己的产品之一(Ehca
假设我有一个 N 大小的服务器阵列设置如下: alt text http://www.terracotta.org/web/download/attachments/43909161/ServerAr
大约一个月前发现 Terracotta 后,我刚刚开始学习如何使用它。这是一项非常酷的技术。 基本上我想做的是: 我的根(记录系统)是一个 ConcurrentHashMap。 主要的 Instrum
我听说过“集群”一词用于应用程序服务器,例如 GlassFish 以及 Terracotta;我正在尝试理解集群这个词在与应用程序服务器结合使用时以及与 Terracotta 结合使用时的含义。 我的
什么是 Terracotta ? 它提供什么服务? 它解决了什么问题? 还有哪些其他产品可以解决与 Terracotta 解决的问题类似的问题? 最佳答案 在 InfoQ 上找到一篇关于 Terrac
通过添加ehcache.xml并设置Terracotta服务器,我一直在将Grails与Terracotta DSO结合使用。它工作得很好,但是我得到的消息是Terracotta不再支持他们的服务器(
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
这个问题有很多组成部分,我会尽力不遗漏任何一个: EhCache 与 Terracotta 一起使用进行集群 EhCache 同时用于 Spring 缓存和 Hibernate 二级缓存 为了只有一个
你知道是否有类似于 Terracotta 的内容吗? (在Java世界中)Python世界存在吗? Twisted ?或者其他什么。 最佳答案 我认为 Twisted 是您能找到的最佳选择。让我警告您
有没有人有使用 Terracotta 的开源产品而不是他们的企业产品的经验?具体来说,我感兴趣的是在没有企业工具的情况下使用 terracotta 来管理集群是否值得? 过度简化的使用摘要:我们是一家
.Net 是否有像 terracotta ( http://www.terracotta.org/ ) 这样的开源集群产品? 最佳答案 我不认为他们有任何与 Terracotta 完全相同的东西...
我只是不知道。我的意思是,有一些话题让我无法相信这一点。 例如,最新的稳定版本 (3.0.0-stable) 有一个损坏的 eclipse 插件,根本无法正常工作。此外,尝试在修订版之间进行升级是一件
使用 Terracotta 作为持久性解决方案(替换数据库)会是个好主意吗?我特别想知道数据完整性问题和对事务系统的支持。 最佳答案 Terracotta 是 transactional (同步块(s
我有一个运行 Hibernate 4.1.7 的应用程序,并且正在使用 ehcache 作为 2 级缓存。我知道从 Hibernate 4 开始,我需要使用与 hibernate 捆绑在一起的 ehc
如果是,在哪里可以找到?!根据this infoq 条目,他们已经开源了。但是现在,他们的网站上没有这样的产品。 最佳答案 本页,http://terracotta.org/dl/oss-downlo
我目前正在使用企业版 EhCache 在我们的应用程序中实现缓存。正如所解释的here ,我通过在我的 EhCache 类中使用以下构造函数以编程方式创建两个不同的缓存实例,我用它来管理 EhCach
我是 EHCache 新手,并尝试将其用作我们的缓存服务器。我编写了尝试开始的代码: public class CacheMap { private static CacheManager c
有没有人尝试过甚至考虑过使用 terracotta 解决方案(即 ehcache)来运行/存储 Neo4J? 我知道 Neo4J 具有高可用性,但这实际上只是复制。我真正想要的是一个分布式图解决方案,
我们正在尝试使用 JETTY 7.0 的暂停 servlet 3.0 API 实现来集群一个用 Java 编写的 COMET 网络应用程序。 有没有人有在暂停/恢复 servlet web 应用程序中
我是一名优秀的程序员,十分优秀!