Tag: distributed caching

选择分布式共享内存解决方案

我有一项任务是为大规模可扩展的分布式共享内存(DSM)应用程序构建原型。 原型只能作为概念validation,但我希望通过选择稍后将在真实解决方案中使用的组件来最有效地利用我的时间。 此解决方案的目的是从外部源获取数据输入,进行流失并使结果可用于许多前端。 那些“前端”只会从缓存中获取数据并在没有额外处理的情况下提供服务。 此数据的前端点击量实际上可以达到每秒数百万。 数据本身非常不稳定; 它可以(而且确实)变化很快。 然而,在最新的处理和缓存之前,前端应该看到“旧”数据。 处理和写入由单个(冗余)节点完成,而其他节点仅读取数据。 换句话说:没有直读行为。 我正在寻找像memcached这样的解决方案,但是这个特殊的解决方案并不能满足我们下面列出的所有要求: 该解决方案至少必须具有相当好的维护的Java客户端API ,因为应用程序的其余部分是用Java编写的,而且我们是经验丰富的Java开发人员; 解决方案必须是完全弹性的 :应该可以添加新节点而无需重新启动集群中的其他节点; 解决方案必须能够处理故障转移 。 是的,我意识到这意味着一些开销,但整体服务的数据大小并不大(最大1G)所以这应该不是问题。 “故障转移”是指在节点出现故障时无需硬编码/更改服务器IP地址(如memcached客户端)的无缝执行; 理想情况下,应该可以指定数据重叠程度(例如,应该在DSM集群中存储多少份相同数据的副本); 不需要永久存储所有数据,但可能需要对某些数据进行后处理(例如,序列化到DB)。 价格 。 显然我们更喜欢免费/开源,但如果解决方案值得,我们很乐意支付合理的金额。 无论如何,支付24小时/天的支持合同是必须的。 整个事情必须在我们的数据中心托管,因此像Amazon SimpleDB这样的SaaS产品超出了范围。 如果没有其他选择,我们只考虑这个。 理想情况下,解决方案将严格一致 (如CAP); 但是, 最终的一致性可以被视为一种选择。 提前感谢任何想法。

分布式缓存

我正在寻找一个Java分布式缓存解决方案。 我们希望function如下: 分散式 自动发现 冗余 非集中 我们已经分析了像TerraCotta这样的框架,它似乎是我们从缓存框架中想要的一切……然而,似乎需要一个中心缓存节点,它们成为我们的单点故障。 除推出我们自己的解决方案以外的任何想法?